Bir Android cihazında ServerSocket
kullanarak bir bağlantı noktasında dinlemeyi deniyorum. Aynı ağdaki bir bilgisayarı kullanarak bu bağlantı noktasına WiFi üzerinden bağlanmak istiyorum. Ben, 0.0.0.0, WiFi LAN IP localhost'a için bağlayıcı sayısız yollar denedimAndroid'de ServerSocket kullanamazsınız
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 (null):4040 (null):* LISTEN
: Bir bağlantı noktasına bağlanması sırasında
ben netstat kontrol ederken ancak diyor, hiçbir istisna olsun SocketInetAddress
ve InetAddress.getByName
ile cihazın adresi. Hiçbir şey işe yaramıyor.
Who has [phone's LAN address]? Tell [computer LAN address].
Bu:
aynı WiFi bir bilgisayardan bağlantı noktasına bağlanmayı deneyin
Ben Wireshark görebileceğiniz tüm bir ARP isteği, (ben hem netcat çalıştı ve Java enSocket.connect()
ettik) istek zaman aşımına kadar kendini tekrarlayın.
Bilgisayarda ServerSocket'ı ayarlayarak ve telefondan bu bağlantı noktasına bağlayarak, çok iyi çalışan tersini denedim.
Test telefonum özel bir ROM'lu bir Samsung Spica i5700.
Herhangi bir fikrin var mı?
Düzenleme: kod bu kadar basittir:
ServerSocket server = new ServerSocket();
server.setReuseAddr(true);
server.setTimeout(0);
server.bind(new InetSocketAddress(4040));
Socket client = null;
while((client = server.accept()) == null);
// Connected
enter code here
enter code here
bazı kod gösterebilir misin? Bildirim dosyasında doğru izni mi ayarlıyorsunuz? – Flo
Soruyu bir kodla güncelledim. Evet, bildirimde INTERNET'e izin verdim. – shuwo
'ServerSocket.accept()' null döndüremiyor. – EJP