[英]Android Node.js Socket.io always connecting successful
我想使用 Socket.io 在 pc 和 Android 之間進行通信。 代碼:
http://socket.io/blog/native-socket-io-and-android/
public class MainActivity extends ActionBarActivity {
private Boolean socketConnection;
TextView tw;
Socket mSocket;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tw = (TextView)findViewById(R.id.textView);
try {
mSocket = IO.socket("http://localhost:3000");
mSocket.connect();
socketConnection = true;
tw.setText("Yes");
}catch(URISyntaxException ex) {
socketConnection = false;
tw.setText("No");
}
}
當我調試應用程序時; 服務器應用程序雖然關閉,但客戶端說連接成功。 當我打開服務器應用程序時,服務器應用程序看不到客戶端。
正如@Patosai 所指出的,您的代碼的問題在於您正在連接到localhost:3000
。 這意味着您正在嘗試連接到運行您的應用程序的設備(Android 手機或模擬器)。 這將始終表示它已連接,因為設備始終可以與自身連接。
假設您與 PC 連接到同一網絡,您將需要找到您的 PC 的 IP 地址和您選擇用於通信的端口。 例如,如果您確定您的 PC 的 IP 是123.456.2.1
並且您在 Socket.IO 代碼中的端口是4000
那么您將編寫mSocket = IO.socket("http://123.456.2.1:4000")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.