NodeJS使用net中的socket,接收数据总在发送之后
发布于 9 天前 作者 WRCoding 996 次浏览 最后一次编辑是 6 天前 来自 问答

最近在学习net模块,Java做服务端,起了两个nodejs客户端A,B,客户端连接服务器,作中转发送数据给另一个客户端,但在测试的时候发现,客户端A能够实时的收到客户端B发送的数据,但是客户端B却不能及时的收到客户端A收到的数据,总是得等客户端B发送数据了,才能收到A发来的数据,找不到是为啥,很疑惑 这个是我监听的代码,在创建页面的就会去初始化它了 image.png image.png 这个是发送的代码,按下回车就发送 image.png 这个服务器,转发的代码 image.png

13 回复

把on放到write前面

@zengming00 这个没影响的应该,我同样的代码开了两个客户端,一个能实时收到,另一个就不行

@zengming00 我试了下,是有用的,能请教是为啥嘛,之前的情况为啥会导致一个能实时收到,一个不行,都是一样的代码

@zengming00 又是不行了。。。。好奇怪啊,昨晚可以了,今天一运行又不行了,什么都没有改动

自己看了五六遍也没明白你这客户端a 和 b到底是干啥的

@ganshiqingyuan 客户端A和B进行通信,服务端转发,A发消息到服务器,服务器转发给B,B同理

@ganshiqingyuan 可能代码截图放的不太清楚,现在遇到的问题就是,A不能及时收到B发的消息,但是B能及时的收到A发的消息

为什么现在码农贴代码都喜欢上传图片? 是不是已经没有人用记事本写代码了?

发送数据太少了? 数据太小会被多次合并发送

@ganshiqingyuan 应该不是,我试过发送同样的数据,情况还是一样,一个能马上收到了,另一个就不行了,要等好一会才能自己收到,或者调用socket.write发送数据后就能收到

@WRCoding 正常你调用write那会儿是阻塞的,有可能每次收到消息时恰好都开始发送数据了,,最好代码全贴上来看看

@ganshiqingyuan 我已经把关键代码都贴上来了

顶一顶,试了各种方法都不行。。

回到顶部