[英]Setting up a udp connection on android
我正在嘗試在 android studio(使用 java)上建立一個簡單的 udp 連接。 我創建了一個新的單獨線程來建立和偵聽連接,但我不斷收到權限被拒絕的錯誤:
這是我用於連接的代碼:
public class ClientListen implements Runnable{
@Override
public void run() {
try {
DatagramSocket udpsocket = new DatagramSocket(14552, InetAddress.getByName("localhost"));
byte[] buffer = new byte[16];
DatagramPacket packet = new DatagramPacket(buffer, buffer.length, InetAddress.getByName("localhost"), 14552);
udpsocket.send(packet);
} catch (SocketException e) {
Log.e("UDP: ", "Socket Error: ", e);
} catch (IOException e) {
Log.e("UDP Send: ", "IO Error", e);
}
boolean run = true;
while (run) {
try {
DatagramSocket udpSocket = new DatagramSocket(14552, InetAddress.getByName("localhost"));
byte[] message = new byte[1500];
DatagramPacket packet = new DatagramPacket(message, message.length);
Log.i("UDP Client: ", "about to wait to receive");
udpSocket.receive(packet);
String text = new String(message, 0, packet.getLength());
Log.d("Recieved data ", text);
} catch (IOException e) {
Log.e("UDP Client ", "has IO Exception, error: ", e);
run = false;
}
}
}
}
然后我將它作為一個新線程鏈接到主活動文件中:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
new Thread(new ClientListen()).start();
}
}
我從來沒有在 android 上設置過 udp 端口,所以我真的很困惑如何解決這個錯誤,因為我無法在管理員或任何東西中運行它。 這是我的代碼錯誤嗎? 還是我嘗試連接的端口有問題?
是否在清單中添加了所有相關的網絡權限?
嘗試添加這個
<uses-permission android:name="android.permission.INTERNET"/>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.