포트가 열려 있는지 또는 서버가 실행 중인지 확인하고 싶습니다.
는 이미 "/ 시스템/빈/핑 (ping)"와 "InetAdress"와 같은 여러 가지 방법을 시도하지만, 메신저를 잘하면 나는이와 지정된 포트 핑 어차피 :/Android/Java에서 포트가 열려 있는지 확인하십시오.
내가 그것을 만든이 시간을 idea DatagramSockets so :
try { String messageStr="Hello!";
int server_port = 25565;
DatagramSocket s = new DatagramSocket();
InetAddress local = InetAddress.getByName("11.11.11.11");
int msg_length=messageStr.length();
byte[] message = messageStr.getBytes();
DatagramPacket p = new DatagramPacket(message, msg_length,local,server_port);
textView1.setText("Inet");
s.send(p);
textView1.setText("Send");
} catch (Exception e) {}
"Inet"이 표시되지만 "Send"메시지가 표시되지 않으므로 송신이되지 않습니다. 예외 메시지를 얻으려고 시도했지만 NetworkOnMainThreadException입니다.
다음을 명심하십시오. 포트가 로컬 시스템이나 원격 시스템에서 열려 있는지 여부를 나타 냅니까? –
바로, 서버 포트가 열려 있으면 안드로이드 폰에서 확인하고 싶습니다. – Caddaile
질문과 관련이 없지만 (UI 액세스 위반시 작동하지만 유효한 응답으로 문제가 발생할 수 있음) 스레드에서 'textView1.setText (...)'를 사용할 수 없습니다. UI 개체는 항상 스레드를 만든 스레드 만 액세스 할 수 있습니다. 당신은'runOnUiThread'을 사용하고'Runnable'을 전달해야하고'run()'메서드는 UI 코드를 오버라이드해야합니다. – Tseng