我是新人,我有一个问题。 在android中,我无法通过TCP Socket连接任何远程地址。当我尝试连接时,调试器显示错误:
Exception: failed to connect to /23.20.47.114 (port 9339) after 2000ms: connect failed: EINVAL (Invalid argument), OSVersion: 4.1.1(Jellybean)
代码:
void run(){
Socket s=new Socket();
s.bind(getAddress("192.168.0.45",8080)); <-It's bound successfully.
s.connect(getAddress("23.20.47.114",9339)); <-Error
writeData(s);
}
InetSocketAddress getAddress(String host, int port){[code]}
void writeData(Socket so){[code]}
注意:此服务器始终处于打开状态,对不起我的英语。
答案 0 :(得分:1)
您已使用bind()
将套接字绑定到本地IP地址,因此将同一套接字连接到远程服务器也没有意义。尝试删除bind()
语句。