调试本地网络程序也会出现网络问题?

2015-10-24 18:01:52 +08:00
 facat
我在本地调试一个网络程序,就是发送和接收都在 127.0.0.1 上弄。我经常发现 A 向 B 发送数据, A 已经执行发送的命令了,但是 B 却只接收到一部分,然后就阻塞在那里了。

例如 A 向 B 发送 100byte 数据, B 用 while 循环接收,但是 B 第一次只接收到了 30byte ,然后就阻塞在那里了。并不是每次都这样,也有很多时候可以正常接收完。

我没有设计接收超时重试机制,但怎么本地接收也有这种网络问题呢?有遇到过的兄弟吗?

我用的是Golang 1.5.1, Win8.1
2411 次点击
所在节点    问与答
5 条回复
XiaoxiaoPu
2015-10-24 18:06:15 +08:00
多半是代码写错了
facat
2015-10-24 18:09:02 +08:00
@XiaoxiaoPu 如果代码有问题的话,应该每次都出现这个问题吧。但有时是正常的。
reus
2015-10-24 20:20:42 +08:00
@facat 不一定。问这类问题一定要上代码,然后别人就可以试着重现,不然就只能猜测,猜测又不能验证,谁都没兴趣回答你
ljbha007
2015-10-24 20:23:54 +08:00
并发逻辑错误多半都是这样有时可以 又是不可以的的情况
facat
2015-10-24 20:28:14 +08:00
我似乎知道问题在哪了,先自己试试。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/230752

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX