Вниз
Скачать: CL | DM;

TClientSocket и TServerSocket: вопросы по принципам работы   Найти похожие ветки 

← →
TonnyS   (2003-03-12 15:01) [0]

Здравствуйте. Искал информацию по сокетам, полно вопросов/ответов/примеров типа: как передать? как сделать чат? и т.д., а ответы обычно вида: "А вот так! <пример кода>"
меня интересуют следующие вопросы:
1. TClientSocket и TServerSocket на одной машине с одним и тем же значением порта могут быть активны одновременн? т.е. безсерверный чат - программа и устанавливает и принимает подключения - возможно такое по одному и тому же порту?
т.е. на машине A TServerSocket слушает порт Port1 и тут же TClientSocket пытатся установить соединение с IP машины B по этому же порту.

2. TServerSocket: а) в чём же конкретно отличие NonBlocking и threadBlocking режимов?
б) какие потоки и сколько используются в каждом из режимов при, допустим, N соединениях? при NonBlocking эти потоки создаются автоматически? Что за ThreadCacheSize, в каком случае используется и когда может не хватить указанного в нём количества?
в) возможен ли одновременный приём данных от нескольких клиентов в режиме NonBlocking?
г) Для каких случаев рекомендуется каждый из режимов?

3. Гарантируют ли сокеты целостность данных? т.е. если я отправляю 0123456789, какая гарантия, что именно эта последовательность дойдёт (не важно, поблочно или непоблочно - имеется виду после приёма всего отправленного буфера). Т.е. собственно вопрос: стоит ли встраивать контроль CRC при передаче данных? (передача - как через локалку, так и через инет)

спасибо за внимание.


← →
Digitman ©   (2003-03-12 15:44) [1]

вопросов оч.много

ответы на них потянут на солидную книгу

рекомендую изучить, например, ресурс http://book.itep.ru в разделе Winsock(2) и , одновременно взяв на вооружение исходники компонентов в модуле scktcomp.pas, изучать их, сравнивая то, что там происходит, с тем, что излагается в ресурсе


либо - задавать вопросы по одному, в порядке осознания сути


← →
TonnyS   (2003-03-12 16:04) [2]

спасибо за ссылку, полезу лазить, но хоть на часть вопросов хотелось бы получить ответ :)
особенно сейчас критичный вопрос про целостность данных (3й), так как от этого зависит структура пакета (включать в него CRC или нет)


← →
Digitman ©   (2003-03-12 16:26) [3]

за целостность не волнуйся

компоненты эти используют TCP-протокол, который гаранирует доставку... опять же - тот же ресурс, топик - "протокол TCP"

для сравнения с TCP (на предмет гарантированности и целостности доставки) изучи еще топик "протокол UDP"


← →
TonnyS   (2003-03-12 17:29) [4]

спасибо, очень интересный ресурс, часть вопросов снято. Но вопрос 2 там не освещается ни с какой стороны :)


← →
Digitman ©   (2003-03-12 17:38) [5]

вопрос № 2 тесно связан с WSAAsyncSelect() и WSAEventSelect()

вникай в подробности этих ф-ций


← →
TonnyS   (2003-03-12 19:01) [6]

Спасибо за интересную ссылку и заданное направление поиска. Хотя, для начала, попробую поискать/поспрашивать на других ресурсах - может мне дадут более простое обьяснение работы TServerSocket (на уровне Дельфи а не структур IP-пакетов), а в дебрях сетевых протоколов буду копаться уже потом, для удовольствия :)


← →
Polevi ©   (2003-03-12 19:47) [7]

>более простое обьяснение работы TServerSocket
scktcomp.pas


← →
TonnyS   (2003-03-20 17:27) [8]

Вернёмся к нашим баранам, вопрос: подключаюсь к серверу к порту, например, 1111. В результате на сервере получаю соединение от <IP-адрес клиента>:<порт>
при этом <порт> - случайное число более 1000.
Собственно вопрос: можно ли задать порт/диапазон портов на клиентской стороне?


← →
Digitman ©   (2003-03-20 17:45) [9]


> вопрос: можно ли задать порт/диапазон портов на клиентской
> стороне?


Контрвопрос : зачем ? ничем это не оправдано совершенно



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.009 c
1-59802
bkv
2003-05-07 10:21
2003.05.19
Мастера, обьясните что такое Visibroker и с чем его едят?


3-59584
Morgan
2003-04-28 07:44
2003.05.19
Хелп с фильтрацией


3-59626
rosl
2003-04-29 06:51
2003.05.19
Как сохранить строку


14-59939
asusfi
2003-04-30 14:47
2003.05.19
Акт выполненых работ


4-59996
Hawker2007
2003-03-15 17:40
2003.05.19
GetWindowPlacement - ??????




   Наверх