Я реализовал концепции, показанные здесь; http://wiki.unity3d.com/index.php/Simple_TCP/IP_Client_-_Server за пределами единства, и это работает. (хотя мне пришлось создать TCPIPServerApp с нуля, так как я нигде не мог найти базовый проект).
Однако у меня есть несколько общих вопросов о том, как правильно использовать tcp/ip. Я провел некоторое исследование самого tcp/ip, но я все еще немного запутался.
Похоже, что использование описанного выше метода не гарантирует, что я увижу сообщение (res). Он просто проверяет каждое обновление, чтобы увидеть, есть ли другое сообщение в res. Что, если будет отправлено несколько сообщений и программа будет зависать или что-то в этом роде, я пропущу более ранние пакеты? Должен ли я вместо этого сделать массив, чтобы он хранил последние X сообщений?
Как я узнаю, что данные были получены? Нужно ли мне добавлять идентификатор сообщения и встраивать в данные собственное подтверждение?
Должен ли я проверить, используется ли порт, прежде чем устанавливать соединение?
Извините за все вопросы. Все это ново для меня, но мне это очень нравится!
... Ниже уже ответил Антон, спасибо
Похоже, что tcp использует собственную нумерацию пакетов, чтобы гарантировать, что пакеты окажутся в правильном порядке на другой стороне. Что делать, если пакет пропущен, последующие пакеты отбрасываются? Или эта нумерация и порядок пакетов предназначены только для обработки данных, разбитых на несколько пакетов?
TCP автоматически разбивает данные на несколько пакетов, если это необходимо, верно?