Socket压力测试问题,服务端Socket长连接循环接收并处理信息

Socket压力测试问题,服务端Socket长连接循环接收并处理信息,第1张

采用多线程,服务器端每ACCEPT一个连接后,针对生成的CLIENTSOCKET创建一个线程,在每个新建的线程中完成通信交互过程,大概不会出现你说的问题了。

PS,还有一点一定要牢记,就是TCP 流式套接字只保证“有序无误”,但不能保证收发双方的次数和内容一定相同,就是说可能发100次,但是接收次数可能只有一次。

其实,方法有几个。

方法一:

定义一个MsgObject的消息类,里面存放的为发送的消息内容(记得序列化)。然后再用ObjectOutputStream来把该类弄成一个输出流发送出去。然后客户端就用

ObjectInputStream in=new ObjectInputStream(socket.getInputStream())

MsgObject obj=(MsgObject)in.getObject()就能够得到一个消息类对象了。。

不会的就追问下,我之前是这样做过的。

方法二:

如果你会json格式,那么就更加简单了,直接把你的消息放到json数组里面。。

这种方法没试过,我近期使用json过于频繁才突然记得的,如果你有兴趣用这个方法,可以一起讨论下。

方法三:

弄多个输入输出流,但是这个不建议


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9582930.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存