Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Tcp сервер

3.1K
02 декабря 2004 года
V_oron i
108 / / 01.12.2004
Какие есть пути написания сервера, который мог бы принимать одновременно энное количество TCP-подключений к одному порту? Более широкая постановка вопроса: идеология создания сервера, способного работать по протоколу TCP одновременно с множеством клиентов, которые могут подключаться/отключаться в любой момент времени.
1.9K
02 декабря 2004 года
solovey
113 / / 25.07.2004
Цитата:
Originally posted by V_oron i
Какие есть пути написания сервера, который мог бы принимать одновременно энное количество TCP-подключений к одному порту? Более широкая постановка вопроса: идеология создания сервера, способного работать по протоколу TCP одновременно с множеством клиентов, которые могут подключаться/отключаться в любой момент времени.


может попробуешь сделать чуть-чуть по-другому:
пусть клиенты коннектяться к одному порту. Когда коннект произошел, сервер открывает соединение на другой порт по своему усмотрению и сообщает об этом клиенту. Дальше они уже работают через новый порт.

2
03 декабря 2004 года
squirL
5.6K / / 13.08.2003
Цитата:
Originally posted by V_oron i
Какие есть пути написания сервера, который мог бы принимать одновременно энное количество TCP-подключений к одному порту? Более широкая постановка вопроса: идеология создания сервера, способного работать по протоколу TCP одновременно с множеством клиентов, которые могут подключаться/отключаться в любой момент времени.



не понял юмора, коллеги. ВСЕ сервера принимают подключения по ОДНОМУ, "well known" порту. в чем вопрос?

3.1K
03 декабря 2004 года
V_oron i
108 / / 01.12.2004
А вопрос в том, что хотелось бы узнать, как написать программу-сервер, желательно с использованием WinSock, которая могла бы принимать более одного TCP-подключения к одному порту. Утверждение же о том, что "ВСЕ сервера принимают подключения по ОДНОМУ, "well known" порту", на мой новичковский взгляд не верна, ведь область вышеупомянутых портов простирается от 0-ого до 1024-ого порта, в то время как всё множество TCP-портов содержит 2^16 штук.
2
06 декабря 2004 года
squirL
5.6K / / 13.08.2003
Цитата:
Originally posted by V_oron i
А вопрос в том, что хотелось бы узнать, как написать программу-сервер, желательно с использованием WinSock, которая могла бы принимать более одного TCP-подключения к одному порту. Утверждение же о том, что "ВСЕ сервера принимают подключения по ОДНОМУ, "well known" порту", на мой новичковский взгляд не верна, ведь область вышеупомянутых портов простирается от 0-ого до 1024-ого порта, в то время как всё множество TCP-портов содержит 2^16 штук.



скажу точнее. процесс установления соединения по TCP/IP упрощенно выглядит так:
1. запускается сервер, который слушает определенный порт с номером, известным клиенту. скажем 7777
2. клиент коннектится на этот порт.
3. сервер принимает коннект, и открывает новый сокет - с другим номером порта. после этого обмен идет через этот "другой" порт.
4. сервер же продолжает себе слушать порт №7777 и принимать по нему TCP соединения.
исходя из вышесказанного - фраза:
которая могла бы принимать более одного TCP-подключения к одному порту
лишается смысла. повторюсь - любой сервер принимает произвольное количество подключений по одному порту. обмен ведется по другим портам. такова реализация TCP/IP. читайте RFC и не стоит изобретать велосипед. пусть даже з 5 колесами :)

3.1K
06 декабря 2004 года
V_oron i
108 / / 01.12.2004

А вопрос в том, что хотелось бы узнать, как написать программу-сервер, желательно с использованием WinSock, которая могла бы принимать более одного TCP-подключения к одному порту.
- внимательнее читайте вопросы, а с RFC и другой вспомогательной "сортиркой" (типа "TCP/IP учебный курс"; Laura A.Chappell, Ed Tittel; "БХВ-Петербург"; 976 стр.) знакомы. По поводу механизма установления через один наперёд заданный порт: вещь очевидная и какому-либо обсуждению не подлежит. Если же Mr.squirL утверждает, что к одному порту сервера ни практически, ни теоретически невозможно одновременно подключить несколько (> 1) клиентов, то имею привести контрпример: Web-сервер принимает все входящие подключения по 80-му (в дес. сис. счисл) TCP-порту и весь дальнейший обмен данными происходит по этому "каналу" (конечно же, еще используется 53-ий UDP для разрешения имён), если я правильно понимаю ситуацию. Или же АСЯ: почти все данные гонятся по одному TCP-соединению, причём этот номер порта (5190 - по умолчанию, к примеру) сервера использую, очевидно, не только я один. Данные подтверждены экспериментально, хотя, конечно же, не исключается ошибка в обработке результатов. :)
527
07 декабря 2004 года
pavor
275 / / 28.09.2003
Цитата:
Originally posted by V_oron i

внимательнее читайте вопросы
Если же Mr.squirL утверждает, что к одному порту сервера ни практически, ни теоретически невозможно одновременно подключить несколько (> 1) клиентов


Mr.squirL утверждает другое.

Цитата:
Originally posted by squirL

любой сервер принимает произвольное количество подключений по одному порту


Внимательнее читайте ответыX)-

2
07 декабря 2004 года
squirL
5.6K / / 13.08.2003
сравним
Цитата:
Originally posted by V_oron i
А вопрос в том, что хотелось бы узнать, как написать программу-сервер, желательно с использованием WinSock, которая могла бы принимать более одного TCP-подключения к одному порту


и

Цитата:
Originally posted by V_oron i
утверждает, что к одному порту сервера ни практически, ни теоретически невозможно одновременно подключить несколько (> 1) клиентов


так кто это утверждает??? чего вы хотите???

Цитата:
Originally posted by V_oron i
с RFC и другой вспомогательной "сортиркой"
(типа "TCP/IP учебный курс"; Laura A.Chappell, Ed Tittel; "БХВ-Петербург"; 976 стр.) знакомы.


именно что - "знакомы"... я даже литературу расхотел советовать :(

Цитата:
Originally posted by V_oron i
Данные подтверждены экспериментально, хотя, конечно же, не исключается ошибка в обработке результатов. :)


погрешности подсчитаны?

3.1K
07 декабря 2004 года
V_oron i
108 / / 01.12.2004
Ок, был не прав. :angel: А вопрос был - конкретная реализация. Ну, ничего, надеюсь на
http://ftp.citkit.ru/pub/ всё c комментариями. :(

P.S.: по поводу погрешностей: Mr. squirL, Вы случаем не физик?
2
08 декабря 2004 года
squirL
5.6K / / 13.08.2003
Цитата:
Originally posted by V_oron i

P.S.: по поводу погрешностей: Mr. squirL, Вы случаем не физик?



:) немного есть. по поводу реализации - купи книгу Снейдера "Эффективное программирование TCP/IP". лучшей книги по этому вопросу я не видел (на русском). есть еще библия сетевого программера "TCP/IP Illustrated" - но она на англ.

3.1K
08 декабря 2004 года
V_oron i
108 / / 01.12.2004
Цитата:
Originally posted by squirL
:) немного есть.


Ооо! Лет, этак, через пяток мы с Вами коллегами тогда будем. :) А за литературу - Спасибо! В магазины/рынки придешь - ничего нет стоящего. :(
Ну, как говориться, будем поискать... По прямой наводке...

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог