Android套接字编程

这篇博客探讨了Android中使用UDP套接字进行通信,特别是在模拟器上设置端口映射以接收数据包。同时,文章强调了Android UI线程与子线程之间的交互限制,解释了为何非主线程操作UI会抛出错误,并提供了两种实现消息循环队列的方法,确保线程间安全通信。通过Handler和Looper,开发者可以避免错误并实现线程间的有效通讯。
摘要由CSDN通过智能技术生成
第一步,使用本机和本机上Android模拟器通信,出现无法通信现象。原因是android的主ui线程不能执行一个工作线程,也就是执行网络操作之类的.
两种方法可以解决:
1\参考http://android.yyable.com/reference/android/os/StrictMode.html

2\删除androidmanifest.xml里的<uses-sdk android:minSdkVersion="14" />

也可以用其他方式处理,如handler。

开始以为是权限的问题。


android模拟器作为服务器端接收来自PC的UDP数据包,
需要在模拟器上做端口映射,用的命令跟TCP的时候有些不同
redir add udp:8000:9000
这样做了之后就可以收到UDP的包了!


创建线程有两种方法:继承Thread类和实现Runnable接口。

方法一:继承 Thread 类,覆盖方法 run(),我们在创建的 Thread 类的子类中重写 run() ,加入线程所要执行的代码即可。下面是一个例子:
public class MyThread extends Thread {
int count= 1, number;
public MyThread(int num) {
number = num;
System.out.println("创建线程 " + number);
}
public void run() {
while(true) {
System.out.println("线程 " + number + ":计数 " + count);
if(++count== 6) return;
}
}
public static void main(String args[]) {
for(int i = 0; i < 5; i++) new MyThread(i+1).start();
}
}

方法二:实现 Runnable 接口 Runnable 接口只有一个方法 run(),我们声明自己的类实现 Runnable 接口并提供这一方法,将我们的线程代码写入其中,就
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值