gpt4 book ai didi

android - 如何在 Android 中使用 UDP 接收数据?

转载 作者:太空宇宙 更新时间:2023-11-03 13:06:48 24 4
gpt4 key购买 nike

我使用以下代码从特定端口接收数据。它不适用于 Android。但是将数据发送到特定端口工作正常。

public class UDPDemo extends Activity {
private TextView tv;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
tv = (TextView)findViewById(R.id.recv_message);
try {
DatagramSocket clientsocket=new DatagramSocket(9876);
byte[] receivedata = new byte[1024];
while(true)
{
DatagramPacket recv_packet = new DatagramPacket(receivedata, receivedata.length);
Log.d("UDP", "S: Receiving...");
clientsocket.receive(recv_packet);
String rec_str = new String(recv_packet.getData());
tv.setText(rec_str);
Log.d(" Received String ",rec_str);
InetAddress ipaddress = recv_packet.getAddress();
int port = recv_packet.getPort();
Log.d("IPAddress : ",ipaddress.toString());
Log.d(" Port : ",Integer.toString(port));
}
} catch (Exception e) {
Log.e("UDP", "S: Error", e);
}
}
}

最佳答案

如果您使用的是模拟器,您可能需要设置 redirects ,请记住模拟器位于虚拟路由器后面。

换句话说,输入这些命令;

telnet localhost 5554
redir add udp:9876:9876

再试一次。

关于android - 如何在 Android 中使用 UDP 接收数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3102048/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com