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