0 / 0 / 0
Регистрация: 21.12.2009
Сообщений: 62
1

Socket несколько клиентов

20.07.2014, 21:13. Показов 984. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте!
Пишу прогу состоящую из двух серверов, смысл которой принять инфу от клиента на один сервер и передать её клиентам подключенным к другому серверу.
Все работает, но если один клиент подключен и получает инфу, то второй подключенный эту инфу уже не получает.
Perl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
socket(SOCK, PF_INET, SOCK_STREAM, getprotobyname('tcp')) or die "Error Socket";
socket(SOCK2, PF_INET, SOCK_STREAM, getprotobyname('tcp')) or die "Error Socket1";
 
setsockopt(SOCK, SOL_SOCKET, SO_REUSEADDR,1);
 
my $paddr = sockaddr_in(1991,INADDR_ANY);
my $paddr2 = sockaddr_in(2014,INADDR_ANY);
 
bind (SOCK,$paddr) or die "Error Bind";
bind (SOCK2,$paddr2) or die "Error Bind2";
 
listen (SOCK, SOMAXCONN) or die "Error Listen";
listen (SOCK2, SOMAXCONN) or die "Error Listen2";
 
while (my $client_addr = accept(CLIENT,SOCK) or die "Error Accept") {
print "CLIENT Connect \n";
if (my $acc = accept (CLIENT2,SOCK2) or die "Error accept Unix"){
print "CLIENT2 Connect \n";
if (my $in = sysread (CLIENT, $data , 1024)) {
print "Receive \n";
 
print $data."\n";
 
send (CLIENT2, $data."\n",0);
 
 
 
}}}
close(SOCK);
close(SOCK2);
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.07.2014, 21:13
Ответы с готовыми решениями:

Несколько клиентов к одному серверу через Socket
У меня не получается подключить больше одного клиента к одному серверу. Для тестирования использую...

Socket авторизация клиентов (Нужен совет)
Интересует где лучше хранить логин и пароль а так же доп инфу о пользователе на сервере, что бы...

Алгоритм обработки клиентов сервером (Socket)
Здравствуйте, друзья. Я всю голову сломал над тем, как правильно устроить общение клиента с...

Передача сообщения от клиентов к серверу Socket
Доброго времени суток, сидел целые 2 сутки думал разберусь сам... но не тут то было... Суть...

3
352 / 222 / 25
Регистрация: 30.09.2012
Сообщений: 548
21.07.2014, 08:40 2
Задача, очень похожая на чат-сервер. Если угадал, посмотрите проект http://sourceforge.net/projects/perlchat/.
0
0 / 0 / 0
Регистрация: 21.12.2009
Сообщений: 62
21.07.2014, 09:53  [ТС] 3
Нет, это оповещения!
на SOCK приходит сообщение и отправляется клиентам подключенным к SOCK2.
0
352 / 222 / 25
Регистрация: 30.09.2012
Сообщений: 548
22.07.2014, 11:58 4
Цитата Сообщение от imusg Посмотреть сообщение
это оповещения
Тогда, может это лучше делать не через tcp, а через udp, как здесь в 7-ом ответе
0
22.07.2014, 11:58
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.07.2014, 11:58
Помогаю со студенческими работами здесь

Как получить данные от клиентов socket сервером?
Вот, что я сделал: IPHostEntry ipHostInfo = Dns.Resolve(Dns.GetHostName()); ...

Несколько клиентов на одну БД.
Подскажите пожалуйста (прежде чем начать, решила спросить). Теоретически, если база данныx одна (на...

Сервер на несколько клиентов
Здравствуйте, появилась проблема. Как из того сервера,что я сделал, который принимает только...

QTcpSocket несколько клиентов
Имеется сервер к нему подключаются клиенты, проводят какой-то обмен информацией и отключаются....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru