1
를 수행 보내 보내, 내 마음 홀수, 문제에 대한함으로써 I 수 보내고 나는 브로드 캐스트 주소로 보낼 경우 UDP 패킷을 수신 (192.168.1.255) . 유니 캐스트 주소 (192.168.1.83)로 패킷을 보내면 패킷이 전송되지 않습니다 (Wireshark로 확인한 것입니다).유니 캐스트 UDP가 작동하지 않습니다하지만 브로드 캐스트 UDP 내가 가진
센드 기능은 다음과 같습니다
private void sendPacket(String data) {
try {
if (mSocket.isClosed()) {
Log.e(TAG, "Socket is closed: " + data);
return;
}
Log.d(TAG, "Send: " + data + " - " + myLocalIP.toString()+ " - " + myBcastIP.toString());
DatagramPacket packet = new DatagramPacket(data.getBytes(),
data.length(), myLocalIP, BCAST_PORT);
mSocket.send(packet);
} catch (Exception e) {
Log.e(TAG, "Exception during write", e);
}
}
내 manefest 파일은 다음 권한을 가진 :
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
방송은 내가 뭘 잘못 생각할 수 없다 작동 감안할. 어떤 아이디어라도 제발?
@ MP23이 말한 것의 의미를 깨달았습니다. 유니 캐스트 메시지를 보내기 전에 ** socket.setBroadcast (false) **를 넣어야했습니다. –