【发布时间】:2013-11-09 11:49:11
【问题描述】:
我已经实现了这里显示的概念; http://wiki.unity3d.com/index.php/Simple_TCP/IP_Client_-_Server 在统一之外,它可以工作。 (尽管我不得不从头开始创建 TCPIPServerApp,因为我在任何地方都找不到基础项目)。
不过,我有一些关于如何正确使用 tcp/ip 的一般性问题。我对 tcp/ip 本身做了一些研究,但我还是有点困惑。
似乎使用上述方法并不能保证我会看到消息(res)。它只是检查每次更新以查看 res 中是否有不同的消息。如果发送了多条消息并且程序滞后或其他什么,我会错过较早的数据包吗?我应该做一个数组来存储最后的 X 条消息吗?
我如何知道数据已收到?我是否需要添加消息 ID 并将我自己的 ack 构建到数据中?
我应该在建立连接之前检查端口是否正在使用中吗?
抱歉所有问题。这对我来说是全新的,但我非常喜欢!
...安东已经回答了以下问题,谢谢
听起来 tcp 使用自己的数据包编号来确保数据包在另一端以正确的顺序结束。如果一个数据包丢失了,后续的数据包会被丢弃吗?还是这种编号和数据包排序仅用于处理分成多个数据包的数据?
如有必要,TCP 会自动将数据分成多个数据包,对吧?
【问题讨论】:
标签: c# sockets tcpclient tcp-ip tcpserver