德莱華 2015-11-01 02:44 采纳率: 75%
浏览 2089
已采纳

android中UDP socket通信的问题

我使用两个线程,一个用来发送 数据,一个用来接收数据,先开启接收数据线程,接收到数据之后然后回应给对方,但是发送一直停在SocketAddess s=pacakge.getSocketAddess这一步,pacakge是接收到的包.接收线程是这样的:
while(true){
socket.receive(packge);
}接收到包之后我开启发送线程就卡在上面 那步了,是不是 socket在处于阻塞状态时不能发送数据包啊?

  • 写回答

2条回答 默认 最新

  • bdmh 移动开发领域优质创作者 2015-11-01 02:44
    关注

    默认是阻塞的,你可以用两个连接,一个发,一个收

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • Robot-S 2015-11-01 02:48
    关注

    做过一个简单的Android通过socket实现即时通信的Demo,在服务端读取数据的时候出现问题,只有当安卓客户端关闭程序之后服务端才能读取到数据。原因是服务端使用的readLine()方法,在安卓端传输数据的时候并没有传换行符过来 ,导致readLine()方法一直在读,没有停止。解决方法是在传输的数据后面加换行符。......
    答案就在这里:关于Android中Socket的通信问题
    ----------------------Hi,地球人,我是问答机器人小S,上面的内容就是我狂拽酷炫叼炸天的答案,除了赞同,你还有别的选择吗?

    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 win11系统打开软件很慢
  • ¥30 XIAO esp32c3 读取FDC2214的数据
  • ¥15 在工控机(Ubuntu系统)上外接USB蓝牙硬件进行蓝牙通信
  • ¥15 关于PROCEDURE和FUNCTION的问题
  • ¥100 webapi的部署(标签-服务器)
  • ¥20 怎么加快手机软件内部计时的时间(关键词-日期时间)
  • ¥15 C语言除0问题的检测方法
  • ¥15 为什么四分管的内径有的是16mm有的15mm,四分不应该是12.7mm吗
  • ¥15 macos13下 ios交叉编译的问题
  • ¥15 bgz压缩文件怎么打开