比如我发送了p1r!p1r003B1s!p1r!p1r001A1s!程序只处理了p1r!p1r003B1s!这句话,把我需要的003B提取出来了更新ui,为什么不能继续处理后面的数据继续更新ui呢?请大神赐教!
UDP发送数据的步骤:
A:创建发送端的Socket服务对象
B:创建数据并把数据打包
C:通过Socket对象的发送功能发送数据包
UDP接收数据的步骤:
A:创建接收端的Socket服务对象
B:创建一个数据包,用于接收数据
D:解析数据并显示在控制台
UDP协议是非连接协议不与目标地址建立连接,简单说就是只负责发送给目标地址数据不等待目标返回结果。每次发送只能是少量数据不过可以少量多次发送,发送几M嘚图片还是没问题的
以下是我发送数据和接收数据的相关代码,以供参考
* @param pudipconfig 目标地址ip、端口号,服务地址的端口号(用于监听是否有数据进入) //初始化用于发送数据 //循环读取车牌照目的是附件需要多次发送才能完成,UDP协议一次只能发送最哆64k的数据 //每次发送都等待目标地址返回成功标识 // 验证未获取到服务端数据返回成功 //发送一个附件发送结束标识 //等待目标地址返回一个附件結束验证成功 // 验证未获取到服务端数据返回成功 一张照片成功 //发送验证所有数据发送完成程序结束
* 作为客户端接收数据 //初始化数据包并设定目标地址ip、端口号 作为未获取到服务端数据可以不需要设定目标地址,这里设定是为了給客服端做成功、失败校验保证数据的准确性 //初始化未获取到服务端数据并设定监听端口号 //用于给附件定义名称 //给定无限循环 不间断接收数据,一直保持监听状态 //等待接收客服端发送数据 //receive是一个阻塞型的方法没有接收到数据包之前会一直等待。 数据实际上就是存储到了byte嘚自己数组中了 //发送给客服端接收成功 /**接收附件循环*/ //将接收到的数据写入文件中