2012-05-16 2 views
0

Я использую сокеты для подключения к моему серверу. Проблема: Сервер принимает соединение. Закройте его и подождите снова.Закрыть соединение сокета

Я использую 2 разъема: 1 для сообщения, а другой - для передачи самих данных. Как закрыть соединение сокета.

Я использую shutdown (socket, 2); и закрыть (сокет);

Я пытался добавить reuseaddr:

int i=1; 
setsockopt(sockDesc, SOL_SOCKET, SO_REUSEADDR, &i, sizeof(int)); 

Благодарности

+0

Обычно есть имя (ссылка) для каждого сокета. – antonio081014

+0

Как я могу получить это, как я закрываю соединение сокета? – Lefsler

+0

-1 Ваш вопрос слишком расплывчатый. Какой сокет вы хотите закрыть - разъем сообщения или передающий сокет? Что вы пробовали до сих пор, и что именно не сработало для вас? –

ответ

0

решаемые, я просто добавил сон (1) и теперь его ОК. Remy Lebeau, я хотел закрыть любой носок, кажется, когда я закрываю сокет, мне нужно подождать очень мало времени, это была проблема.

Thanks ppl

+1

Я не совсем понимаю ваше описание проблемы, но вам почти наверняка не нужно спать после/до закрытия сокета. Это не имеет никакого смысла. Должно быть что-то еще не так. – Celada

+0

Согласитесь с @Celada, сон не нужен, чтобы закрыть розетку. – ciphor

+0

Я тоже согласен, если я не сделаю даже небольшой сон, кажется, что сокет не закрывается, кажется, системе требуется некоторое время, чтобы это сделать. На linux это нормально, но на mac os x dont работать без сна. – Lefsler

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