簡體   English   中英

Android Node.js Socket.io 總是連接成功

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM