遇到一个头大的问题。关于TCP。实在想不同。

pp616 2003-08-27 03:17:17
建立TCP连接后。双方交换数据。
两边Socket都用
::WSASocketPF_INET,SOCK_STREAM,0,NULL,0,WSA_FLAG_OVERLAPPED);创建
且都未使用setsockopt函数进行设置socket选项。
发送数据使用
::WSASend(Imsock,&wsbuf,1,&BytesSent,0,NULL,NULL);
在本机 or LAN or 双方都为电信宽带,情况下。

::WSARecv(Imsock,&wsbuf,1,&RecvBytes,&Flags,NULL,NULL);
接收数据一切正常。

但是在电信->长城宽带间测试,经常通讯失败。感觉丢包了。
一端发送数据后。另一端WSARecv函数一直阻塞。我操!郁闷。
...全文
45 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
pp616 2003-08-31
  • 打赏
  • 举报
回复
to:POLOM(北岸WUS) 用什么工具看???
everandforever 2003-08-31
  • 打赏
  • 举报
回复
::WSASocket(PF_INET,SOCK_STREAM,0,NULL,0,WSA_FLAG_OVERLAPPED);
第三个参数应该是 IPPROTO_TCP 才对吧? IPPROTO_TCP 的值是 6; 你所用的 0 是 IPPROTO_IP.
另外, 你调用 WSASend 时, 最后两个参数都是NULL,那么创建SOCKET时指定 WSA_FLAG_OVERLAPPED 也就失去意义了.
Atomictry 2003-08-28
  • 打赏
  • 举报
回复
帮你A
A
A
头疼了。
POLOM 2003-08-28
  • 打赏
  • 举报
回复
用网络工具检测确认本地发的包是不是已经都到远端了,然后检测远端IP层是不是已经把数据送给上层了(TCP?UDP?)然后再确认是不是代码问题。
yesry 2003-08-28
  • 打赏
  • 举报
回复
listen?accept?
pp616 2003-08-28
  • 打赏
  • 举报
回复
先确定。不是网络的问题。
问题在代码上。请大家帮忙。
zihan 2003-08-27
  • 打赏
  • 举报
回复
呵呵,那这样就不是我们能够解决的问题了,找长城去。
wangxiangsjz 2003-08-27
  • 打赏
  • 举报
回复
新浪上有网友关于长城宽带的测试数据,从数据上看,长城宽带的效果实在是太差了。
mme 2003-08-27
  • 打赏
  • 举报
回复
可能跟网关有关吧~

1,317

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧