+
 新版

socket服务端如何同时接收客户端发送的多个信息

Retror 发布于 2016/01/06 09:33
阅读 3K+
收藏 0
    本人最近在写一个socket的小例子,但是遇到了一些问题。就是在服务端接收客户端发送的数据的时候可能会出现同时发送多种数据包的操作(我这里的数据包的协议是这样的结构,“数据类型【一个字节】,数据长度【7个字节】,数据【真实传递数据的字节】”),但是我在接收的那里是在一个线程里操作。如果想要实现去就收不同的数据该怎么去做操作呢?希望大神们能指点下,很急很关键,谢谢了!
加载中
0
matf2012
matf2012
没连接成功的时候创建一个线程去处理喽,最近弄个IM 用的MINA 这个框架,封装的挺好的。
R
Retror
如果我用MINA框架的话,是不是需要在客户端和服务端都用上这个框架呢?
0
HeartArea
HeartArea

你要是自己写不用框架的话,先是在accept()以后创建新的线程,然后把inputstream和outputstream对象都传入线程里面去,针对这个连接的读写就由这个线程来负责处理,你可以设置结束标志然后停止线程,释放资源。当然也可以实现线程池,然后前端加上调度,重复有效利用线程资源,避免线程创建和销毁时的开销.....

那如果要是想写成像netty和mina那样的话,还是研究一下它们的原理吧

0
逐浪人
逐浪人
这个你就要创建消息队列来处理了,收到数据先丢进队列然后慢慢处理
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部