-
пробую написать программку, которая свяжется через сокет с удоленным компом. При создании сокета, его конструктору передается два параметра: адрес и порт. Адрес можно передать либо именем (т.е. www.delphimaster.ru), либо сразу целым. Но у меня есть только ip. Как это преобразовать?
-
inet_aton() converts the Internet host address cp from the standard
numbers-and-dots notation into binary data and stores it in the struc-
ture that inp points to. inet_aton() returns non-zero if the address
is valid, zero if not.
-
inet_addr из winsock
-
спасибо. Нашла вроде бы. Даже соединилась. А как теперь разъединиться?
-
сокет.close :)
-
umbra © (27.06.08 13:07) [4]
не а... Не дисконнектится (((
-
> не а... Не дисконнектится (((
>
а откуда известно, что не дисконнектится?
-
umbra © (27.06.08 13:32) [6]
он может и дисконнектится, но принимающий комп не переходит обратно в режим ожидания.
-
> но принимающий комп не переходит обратно в режим ожидания
а в каком он режиме остается?
-
Когда на подключено, светится надпись
... waiting for TCP/IP-Client
когда подключено ее нет.
Так вот, когда я закрываю сокет комментарий этот не появляется вновь. Поэтому я думаю, что система занята.
-
может не обновляется индикация состояния? что если вообще инет отрубить?
-
может сервер немного неправильный? :)
-
> он может и дисконнектится, но принимающий комп не переходит
> обратно в режим ожидания.
а чего он должен туда переходить? сервер же может и не узнать, что клиент отключился. Вот и ждет. Вообще неплохо бі узнать, с пмощью чего ві коннектитесь и дисконнектитесь :)
-
umbra © (28.06.08 14:22) [12]
в смысле? Просто пишу в яве Socket clSock = new Socket (<host>, <port>) и все. Я уже как бы на удаленной машине.
ПыСы: нашла я методом тыка, что надо "удаленной машине" послать сообщение выход. Тогда она снова ожидает подключения. Но, теперь появилась другая трабла. Не могу понять какя из двух машин быстрее, но принимающая не может принять всю передаваемую строку. Она считывает из буфера макс. два символа, а потом вероятно буфер перезаписывается. Приходится вставлять sleep. Является ли "хорошим тоном, программирование соединения через сокеты в отдельном потоке?
-
> Является ли "хорошим тоном, программирование соединения
> через сокеты в отдельном потоке?
>
Это наилучший тон для сервера - каждый клиент в своем потоке
-
тогда еще один вопрос. Всегда ли необходим ServerSocket?
-
> Всегда ли необходим ServerSocket?
Что собственно имеется в виду? Серверный сокет - это сокет, который ожидает подключений. И он необходим, чтобы установить соединение
-
т.е. в приложении должно быть обязательно два сокета, один которые простой, и второй - срверный?
-
В приложение должно быть столько сокетов, сколько требуется, минимум один.
-
> т.е. в приложении должно быть обязательно два сокета, один
> которые простой, и второй - срверный?
то есть?
я всегда думал, что на сервере - серверный, на клиенте - клиентский.
Цесарю - цесарево, слесарю - слесарево