2009-07-25 6 views
3

Я сейчас пишу чат-сервер в C++. Когда пользователь подключается к нему, я открываю сокет, и я создаю два потока: один для приема и один для отправки данных.Сокеты - отправлять и получать

Теперь мой вопрос:
Должен ли я проверить, работает ли другой поток в данный момент сокета, или будет ли функция send/recv ждать, пока сокет будет готов?

ответ

4

Отправка и получение сокета TCP одновременно должны быть полностью прекрасными. (исключая любые возможные ошибки ОС)

3

Socket send and receive независимы. Вам не нужно беспокоиться о том, чтобы чередовать их самостоятельно.

+0

Они независимы от концептуального уровня, но на транспортном уровне существует общее состояние. – EFraim

+0

Несомненно, но это полностью абстрагируется от Sockets API. Чек, учитывая, что ACK когда-либо посылают или получают, являются отправкой и получением. –

Смежные вопросы