Сэр,Объект One Socket для отправки и приема в c
Я хотел узнать, как можно использовать один объект сокета для отправки и получения данных?
Сэр,Объект One Socket для отправки и приема в c
Я хотел узнать, как можно использовать один объект сокета для отправки и получения данных?
Стандарт C не имеет интерфейса сокетов.
Найти интерфейс сокетов для вашей ОС (Posix, Windows, другие другие). Прочтите документацию. После того, как вы откроете сокет, будут выполняться функции для отправки и получения данных.
Сокет TCP представляет собой двунаправленный канал связи, поэтому вы можете использовать оба в одном и том же сокете, не делая ничего особенного. Как сделать так, чтобы это произошло, например, является ли physical layer полным или полудуплексным.
Будьте осторожны с тем, что происходит, когда один из них блокируется - если оба конца сокета пытаются записать, и все буферы заполнены в обоих направлениях, тогда вы можете оказаться в тупике, потому что ни одна из сторон не может писать какие-либо больше, пока другая сторона не прочитает что-то, чтобы освободить место в буферах. То же самое происходит, если обе стороны блокируют чтение, и никто не пишет.
Если вы хотите отправить данные, вы вызываете send(); когда вы хотите получать данные, вы вызываете recv(). Это действительно не сложнее.
Если вы просите механизм передачи данных по сети, я предлагаю вам собрать сетевые книги Стивенса (и пропустить руководство Beej, для всего, что свято).
Какая операционная система? Что вы подразумеваете под Объектом? Вы имеете в виду TCP? – Jay
«Сэр»,? А как насчет мэмов? – glglgl