[問題] android socket無法得到回傳
我嘗試寫一個android程式
和一支python server
手機跟pc都是同一個LAN
手機接WiFi 192.168.0.2
PC接 192.168.0.4
手機在edittext打字串按下按鈕
Server得到字串並回應
實際運作時android打的訊息可以被PC接收到
但是回傳給手機收不到
不知道是什麼問題(ip設錯?權限沒開好?)
求佛心大大們的建議
https://i.imgur.com/mv58BId.jpg
https://pastebin.com/884BgRpv
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.72.72.167 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/AndroidDev/M.1595351323.A.4A8.html
※ 編輯: applejuice64 (42.72.72.167 臺灣), 07/22/2020 01:12:35
※ 編輯: applejuice64 (42.72.72.167 臺灣), 07/22/2020 01:29:38
→
07/22 10:18,
4年前
, 1F
07/22 10:18, 1F
推
07/22 16:18,
4年前
, 2F
07/22 16:18, 2F
→
07/22 16:18,
4年前
, 3F
07/22 16:18, 3F
→
07/22 16:19,
4年前
, 4F
07/22 16:19, 4F
嘗試click啟動send data
然後準備一個thread啟動serversocket
pc端在收到message後
connect到serversocket並回傳
方案1結果:
手機發出訊息讓py確實收到後
py決定連線到手機serversocket
py connect到手機的時候卻直接讓手機閃退...
不知道是我的手機server邏輯寫法不正確無法接收訊息的關係嗎?
還是py檔案的發送邏輯不正確?
不應該connect(ip,port)再sendall再close?
方案2
https://pastebin.com/A5jw1BCh
https://i.imgur.com/IpqKjZC.jpg
開啟手機app與server後
手機輸入訊息send可以讓server獲得訊息並回傳了
手機也會根據pc端回傳值改變手機畫面中text內容
但是沒辦法執行第二次send
必須重新開啟一次手機才可以send第二次訊息
不知道原因為何?我的send_data啟動後不能再進行第二次send_data嗎?
這部分沒頭緒...
想問各位大大覺得我的code邏輯合理或哪邊有異常?
1.手機輸入哈哈
2.電腦得到client message:哈哈
並回傳\n哈哈okay.
3.最後手機的text變成
wait to be changed300
哈哈okay.300
我的append執行了兩次...
我想我的程式邏輯應該是有哪邊出錯了....
※ 編輯: applejuice64 (42.72.72.167 臺灣), 07/23/2020 00:04:04
※ 編輯: applejuice64 (42.72.72.167 臺灣), 07/23/2020 00:13:15
→
07/23 10:20,
4年前
, 5F
07/23 10:20, 5F
→
07/23 10:20,
4年前
, 6F
07/23 10:20, 6F
推
07/23 11:09,
4年前
, 7F
07/23 11:09, 7F
→
07/23 11:09,
4年前
, 8F
07/23 11:09, 8F
→
07/28 00:14,
4年前
, 9F
07/28 00:14, 9F
→
07/28 00:14,
4年前
, 10F
07/28 00:14, 10F
感謝各位的建議
※ 編輯: applejuice64 (114.137.195.195 臺灣), 08/03/2020 15:06:03
AndroidDev 近期熱門文章
PTT數位生活區 即時熱門文章