Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.05.19;
Скачать: 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 вся ветка

Текущий архив: 2003.05.19;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.013 c
14-59905
Карлсон
2003-04-29 20:41
2003.05.19
как исправить?


3-59623
Андрей
2003-04-29 00:19
2003.05.19
Перенос из Paradox-a в MS SQL


14-59936
vajo
2003-04-30 06:43
2003.05.19
Web сайт c помощью дельфи


14-59913
Suntechnic
2003-04-30 06:58
2003.05.19
Windows Media Player 9 problem


7-59961
krotik
2003-03-21 09:28
2003.05.19
Перехват записи на диск или