0

所以让我说清楚,我对数据包和网络很陌生。

所以我正在做一个项目,其中将有 1 个服务器和 4 个客户端都连接到服务器。我的大部分数据包都可以正常工作,两边都可以,但是我遇到了这个问题。这是布局:

bw.Write(WGG_SendKaart);
bw.Write(index); //Int32
bw.Write(k.Nummer); //Int32
bw.Write(k.Soort.soort); //String
bw.Flush();

和接收部分:

byte type = br.ReadByte();
int index = br.ReadInt32();
int nr = br.ReadInt32();
string soort = br.ReadString();

好的,奇怪的部分来了。当数据包在索引变量中有 1 或 2 时,它成功发送和接收,但是如果它有另一个数字(在本例中为 0-3),它​​将不会接收。客户端甚至不会接收到数据包类型字节。

对于某些情况:我将此数据包发送 4 次给 4 个客户端。假设第一次 Client1 获取 0 作为索引,client2 获取 1 作为索引,client3 获取 2 作为索引,client4 获取 3 作为索引。只有 Client2 和 Client3 会收到他们的数据包。然后第二次索引得到 +1 和 3 变为 0。所以这次你会认为 Client1 会收到数据包,因为他有 1 作为索引,对吧?没有。他什么也得不到。

真的可以在这里使用一些帮助。如果您需要更多代码,请告诉我。

4

0 回答 0