请问如何多线程处理客户端发送的SOCKET
时间:2011-09-08
来源:互联网
情况是这样的:我现在用多线程处理客户端发送来的请求,得到的socket字符串,但是这个字符串是连续的,比如应该的长度为111,但是我接受到的可能是多个组成的111222333444,也就是说并不是一个SOCKET发送的,但是我是要一个个解析这些字段的比如解析111或者222,而且SOCKET服务端一直在接受字段客户端不停止发送我就没法处理这个字符串啊???求高手指点
作者: woniu4500 发布时间: 2011-09-08
发什么接收什么啊
处理就在run里面,接收的时候就处理
祝楼主好运
处理就在run里面,接收的时候就处理
祝楼主好运
作者: wangquanzheng 发布时间: 2011-09-08
多个socket发送一个连续的数据,你怎么保证它们的顺序?
如果你用类似于索引的方式保证顺序,那么服务端可以把socket接收到的数据保存到一个缓存,直到接收完毕后按索引顺序重新还原数据
否则就是一个socket发送一个连续的数据,这个和多线程没关系,每个线程有自己的socket,发送自己的数据,互不干扰
如果你用类似于索引的方式保证顺序,那么服务端可以把socket接收到的数据保存到一个缓存,直到接收完毕后按索引顺序重新还原数据
否则就是一个socket发送一个连续的数据,这个和多线程没关系,每个线程有自己的socket,发送自己的数据,互不干扰
作者: qybao 发布时间: 2011-09-08
不啊,我是服务端啊,客户端发给我的报文是不一样的啊,我服务端要一直轮询处理,只要有报文发送过来就进行处理,我就是不明白,服务端一直在接收,接收完毕后可能存了多个报文,我咋处理呢
作者: woniu4500 发布时间: 2011-09-08
Socket socket = serverSocket.accept();
//服务器端收到一个客户端连接,就会建立一个socket,如果你的socket是个成员变量,那么可能就会有问题,如果是个局部变量,那么每次建立一个socket以后,把它交给线程去处理就可以了,这样的socket是互相独立的,互不影响的,线程要怎么接收,怎么处理,彼此之间都不会有干扰的
//另外,socket通信,协议就要定好,比如每次发送多少字节长度的内容,发送信息是否带有数据长度信息等等。
//服务器端收到一个客户端连接,就会建立一个socket,如果你的socket是个成员变量,那么可能就会有问题,如果是个局部变量,那么每次建立一个socket以后,把它交给线程去处理就可以了,这样的socket是互相独立的,互不影响的,线程要怎么接收,怎么处理,彼此之间都不会有干扰的
//另外,socket通信,协议就要定好,比如每次发送多少字节长度的内容,发送信息是否带有数据长度信息等等。
作者: qybao 发布时间: 2011-09-08
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28