能力值:
( LV2,RANK:10 )
|
-
-
2 楼
调用原始 WSASend传递的是你自己组装的包即可了嘛。
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
我修改了他的长度和内容,然后在WPE里面看了服务器返回的包,返回的包正常了,但是程序却卡死了.
直接修改他的长度和内容,与自己组装的包有区别吗?其他的参数需要动?
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
应该还有个心跳包的序号
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
扯远了,不是游戏,没有心跳包,并且还是明文包, 我测试了下,改第一个包的长度没问题,改第二个包WSASend的长度,也没问题, 服务器也会返回,只是可能返回的数据不是程序想要的数据,或者WSARecv接受的长度不对,反正问题应该在WSARecv上,会调用WSAGetLastError,然后返回997错误,查了百度百科,
997 - WSA_IO_PENDING
重叠操作将在以后完成。用Winsock函数发出一次重叠I/O操作时,若出现这样的Win32错误,便表明操作尚未完成,而且会在以后的某个时间完成。
如果是不修改长度的版本,就不会调用WSAGetLastError了, 哎,还是看不懂这个错误啥意思
|
能力值:
( LV4,RANK:50 )
|
-
-
6 楼
可能有判断发送了多少个字节。。。改一下返回值试下。。
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
既然明文包,看一下组包过程,可能存在发包序号或校验值的
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
将发送包和接收包的字节都调到很大试试
|
|
|