gpt4 book ai didi

Android - 这是发送单个 UDP 数据包的正确方法吗?

转载 作者:行者123 更新时间:2023-12-03 17:11:30 27 4
gpt4 key购买 nike

我正在尝试通过按下按钮在 Android 中发送 UDP 数据包。这是我到目前为止所做的:

 public void sendUdp(View view)
{
new Thread(new Runnable() {
@Override
public void run() {
try {
HelloText.setText("tfi");
DatagramSocket clientSocket = new DatagramSocket();
InetAddress IPAddress = InetAddress.getByName("10.0.0.4");
byte[] sendData = new byte[1024];
sendData = "Hello".getBytes();
DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, IPAddress, 15000);
sendPacket.setLength(sendData.length);
clientSocket.send(sendPacket);
}
catch (Exception e) { }
}
}).start();

}

这是按下以发送数据包的按钮的 XML:
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/sender"
android:text="Send"
android:layout_marginTop="30dp"
android:layout_below="@+id/secondact"
android:layout_centerHorizontal="true"
android:padding="30dp"
android:onClick="sendUdp"/>

我还将它添加到 Android list 中:
<uses-permission android:name="android.permission.INTERNET"/>

当我尝试发送时,日志中会弹出此错误(使用 Android Studio 并与我的 Galaxy S4 一起运行,Android 5.0 与 USB 连接):
D/ViewRootImpl: ViewPostImeInputStage ACTION_DOWN

数据包没有被发送——一个运行良好的服务器根本没有收到它。

这是否意味着我发送错误?这里有什么问题?

最佳答案

我猜对了吗HelloTextTextView或(EditView 等)?如果是这样,这就是您的问题的原因...

您不能从除 main/ui 线程之外的任何线程调用小部件(例如 setText)上的方法(例如 TextView)

关于Android - 这是发送单个 UDP 数据包的正确方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42119987/

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