精易论坛

标题: TCP服务端问题 [打印本页]

作者: snowhoo    时间: 2021-3-30 13:41
标题: TCP服务端问题
客户端快速频繁请求数据,当上一请求还没结束时,请求下一个数据时,会产生数据错乱。有没有办法解决。。。或者如何判断上一数据请求有没有结束?

作者: a374305889    时间: 2021-3-30 13:41
需要处理粘包,发包时加上序号和结尾,判断是否收完包
作者: 无夜    时间: 2021-3-30 14:05
加许可证咯
作者: KServer    时间: 2021-3-30 14:07
易语言??给每个客户端加许可证,防止乱序,或者使用队列的方式去处理数据
作者: 不要再艾特我了    时间: 2021-3-30 14:45
TCP协议好像是多线程的把,你服务端按照多线程写就行了
作者: CigaretteWine    时间: 2021-3-30 15:20
不要再艾特我了 发表于 2021-3-30 14:45
TCP协议好像是多线程的把,你服务端按照多线程写就行了

这个可不一定啊  看服务端怎么开,其实他的是发生了粘包。tcp udp 必须处理粘包。不然数据必然错乱
作者: CigaretteWine    时间: 2021-3-30 15:21
粘包了。百度tcp 粘包  其还有断包 丢包。等等特殊情况
作者: 不要再艾特我了    时间: 2021-3-30 16:23
weidongjun 发表于 2021-3-30 15:20
这个可不一定啊  看服务端怎么开,其实他的是发生了粘包。tcp udp 必须处理粘包。不然数据必然错乱 ...

啥是粘包???我服务端都用HP写的,问题不大
作者: snowhoo    时间: 2021-3-31 08:23
感谢大家的帮助。我经过反复调试,定位到问题不是出在服务端,而是出在SQL查询
,,是由于服务端响应比较快,,上一条SQL语句还没完成,服务端已经响应的下一条SQL检索语句,导致出现出现数据混乱,
现已经通过在执行SQL语句之前,对数据库状态做判断后,再查询解决了问题。
作者: CigaretteWine    时间: 2021-3-31 15:42
不要再艾特我了 发表于 2021-3-30 16:23
啥是粘包???我服务端都用HP写的,问题不大

HP 没用过 据说hp是处理过的
作者: 不要再艾特我了    时间: 2021-3-31 15:50
weidongjun 发表于 2021-3-31 15:42
HP 没用过 据说hp是处理过的

HP做api还是不错的




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4