реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> WiZnet w5300, как организовать более одного подключения к серверу?
lons83
сообщение Feb 21 2015, 15:47
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 69
Регистрация: 9-11-12
Пользователь №: 74 296



Здравствуйте, у меня такая проблема:
Имеется микросхема Wiznet w5300.
Хочу сделать следующее:
1) беру сокет 0 -> открываю его как TCP SERVER ( ip 192.168.0.1 port 5000 ) -> и TCP CLIENT ( ip 192.168.0.2 port 5000 ) на другой стороне ко мне подключается.

2) Теперь я хочу к своему TCP SERVER одновременно подключить и второй TCP CLIENT ( ip 192.168.0.3 port 5000 ) -> подключение НЕ удаётся(((

Вопрос:
Кто-нибудь знает как на один сокет TCP SERVER подключить более одного TCP CLIENT ?
или в w5300 такое не возможно и там соединение только точка-точка?

Заранее спасибо за ответы.

Go to the top of the page
 
+Quote Post
Fedor
сообщение Feb 21 2015, 18:12
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 73
Регистрация: 26-10-05
Пользователь №: 10 125



судя по даташиту:
http://www.wiznet.co.kr/Admin_Root/UpLoad_...130E%282%29.pdf
стр. 94 , вы можете открывать до 8 сокетов.
Т.е. после 0 далее открыть сокет 1 , 2 на тот же порт и так же сделать listen.
Go to the top of the page
 
+Quote Post
lons83
сообщение Feb 21 2015, 18:26
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 69
Регистрация: 9-11-12
Пользователь №: 74 296



Цитата(Fedor @ Feb 21 2015, 21:12) *
судя по даташиту:
http://www.wiznet.co.kr/Admin_Root/UpLoad_...130E%282%29.pdf
стр. 94 , вы можете открывать до 8 сокетов.
Т.е. после 0 далее открыть сокет 1 , 2 на тот же порт и так же сделать listen.


да это я знаю про 8 сокетов.
То есть Вы хотите сказать что на один сокет я не могу подключить одновременно более одного соединения?
и если допустим мне к TCP_Server нужно 9 подключений TCP_CLIENT, то данная микросхема уже не подойдет?

Сообщение отредактировал lons83 - Feb 21 2015, 18:35
Go to the top of the page
 
+Quote Post
Fedor
сообщение Feb 21 2015, 18:37
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 73
Регистрация: 26-10-05
Пользователь №: 10 125



Да для TCP сокет = server:ip:port + client:ip:port
Если брать posix то в псевдокоде должно быть кроме listen классическое bind и accept
, но судя по документу сокет (и + все memalloc ) создается до listen и далее ждем естаблишед.
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Feb 21 2015, 18:41
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



по определению протокола ТСР сокет - это единое соединение из 2 участников не более
сокет - это 4 параметра
IP_S + PORT_S + IP_C + PORT_C

так что открывайте еще один сокет с вашим IP и тем же портом, и к нему сможет подсоединиться новый клиент. Но клиент должен иметь либо другое IP либо другой номер порта. Иначе вы дублируете первое соединение и это невозможно по протоколу...

upd. Ну вот опередели...
Go to the top of the page
 
+Quote Post
lons83
сообщение Feb 22 2015, 15:01
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 69
Регистрация: 9-11-12
Пользователь №: 74 296



Спасибо за ответы.
Разобрался
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 06:52
Рейтинг@Mail.ru


Страница сгенерированна за 0.01398 секунд с 7
ELECTRONIX ©2004-2016