Android ServerSocket卡住了

时间:2015-06-17 20:59:05

标签: android sockets tcp server serversocket

你好我做了这个服务器类但是它接受了连接。我的感觉是,他们开始说话,但代码永远不会接受。 !连接的!不打印,没有错误,为什么?

作为客户端我使用telnet和softwere我为win做了(当我使用应用程序的客户端时它们工作)。 感谢。

更新!我有新的线索! adb shell netstat说它在IPV6上听(哎呀)!!!!!也许那就是问题!我怎么能“强迫”IPV4 serversocket?

UPDATE2 这是'adb shell netstat'

UPDATE3 查看本书(https://books.google.it/books?id=iO5pX6WoK8YC&pg=PA213&lpg=PA213&dq=serversocket+android+ipv4&source=bl&ots=0kEQxT8odE&sig=cRAaC1oog61bWo2rCBFtLXVITZA&hl=en&sa=X&redir_esc=y#v=onepage&q=serversocket%20android%20ipv4&f=false),在那里搜索网络适配器的ip,让我觉得我可以将服务器绑定到适配器的ip,但是他们不在服务器设置中使用那个ip,我猜...... 但是,使用该构造函数(ServerSocket(port))它应该绑定到所有网络适配器,我是否正确?

我试过了:

ss = new ServerSocket(63999, 50, InetAddress.getByName("0.0.0.0"));

但它仍然无效。

tcp6       0      0 :::3333                :::*                   LISTEN
tcp6       0      0 ::ffff:192.168.123.3:56085 ::ffff:74.125.232.128:80 ESTABLISHED
tcp6       0      0 ::ffff:192.168.123.3:40439 ::ffff:64.233.166.188:5228 ESTABLISHED
tcp6       0      0 ::ffff:192.168.123.3:39535 ::ffff:192.168.123.1:3333 ESTABLISHED
tcp6       0      0 ::ffff:192.168.123.3:53474 ::ffff:173.194.112.167:443 ESTABLISHED
tcp6       0      0 ::ffff:192.168.123.3:59354 ::ffff:216.58.212.74:443 ESTABLISHED
tcp6       0      0 ::ffff:192.168.123.3:56086 ::ffff:74.125.232.128:80 ESTABLISHED

第一行是服务器,第四行是客户端(可行),其余是典型的谷歌间谍活动......

UPDATE4 问题已经消失了,我不知道如何,我认为原因是路由器随机行为,随机转发电脑的服务器...所以我认为生病删除这个问题很快......

public class ServerClass extends Thread {

ServerSocket ss;
Socket s;
Activity a;

public ServerClass(Activity cx) {       
a = cx;
}   
@Override
public void run() {
try { ss = new ServerSocket(3333); } catch (IOException e) {}
while (true) {
    try { s = ss.accept(); Log.e(tag,"!CONNECTED!"); }
    catch (IOException e) { e.printStackTrace(); Log.e(tag,"!ERROR!"); }
    //anotherclass.staticfunction(s, a);
    }  }
}

0 个答案:

没有答案