[unix] socket layer

mirt1971

У меня возникла потребность в двунапрвленном(по сути двухканальном) соединении между двумя программами(клиент/сервер). Пока мне в голову приходит только одна идея: клиент инициирует два различных соединения, и первым делом сообщает серверу кто кем будет(прием/передача). Но мне это не очень нравится(кажется ненадежным, серверу придется сопоставить эти два соединения друг другу так как я думаю что есть варианты и получше. Кто что может посоветовать?

Marinavo_0507

не понял
а чем обычные сокеты, которые SOCK_STREAM, не угодили?

mirt1971

А я могу одновременно читать и писать в этот сокет из разных тредов?
PS: и это еще не самое главное. Если например чтение заблокируется, то записать я туда уже не смогу. А работать с неблокирующимися сокетами - мне не подходит.

Marinavo_0507

Ну если религия никакая не запрещает, то почему бы и нет?

mirt1971

Да. Это я неподумав спросил. На самом деле меня интересует более другой вопрос. Допустим один тред читает из сокета. Если я начну в другом треде писать в этот же сокет, операция записи заблокируется? Мне это не очень подходит.

Marinavo_0507

Нет, только поэтому не заблокируется. С какой радости?
Тебе наверно нужно книжки почитать, в FAQ есть ссылки на очень хорошие.

Barbie29

на каком языке это хочется сделать? Походу, что тебе надо, на перле можно сделать...
Оставить комментарий
Имя или ник:
Комментарий: