Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.01.08;
Скачать: CL | DM;

Вниз

Sockets must die!!!!!!!   Найти похожие ветки 

 
Dark_Dan ©   (2001-10-02 18:09) [0]

Проблема с сокетами...

При передачи сообщения серверная часть начинает материться на синхронизацию потока. Что это может быть (типы ClientType и ServerType стоят в ctNonBlocking)

Да может кто знает как заблокировать порты... 80, 21, 110, 111, 1080 и т. д....


 
Digitman ©   (2001-10-03 08:33) [1]

Приведи фрагмент кода, дословно "матерную" фразу и укажи строчку, на которой она появляется. Класс "матерного" исключения также желателен )


 
Wonder ©   (2001-10-03 10:53) [2]

Что значит заблокировать? Если на них не висят никакие сервисы, то они и так "заблокированы". Они попросту закрыты.


 
Dark_Dan ©   (2001-10-08 03:00) [3]

-->> Wonder
//В клиентской части

type
TSend = record
IP: String[15];
Mode: Byte;
end;
....
....
....
var
Send: TSend;


Procedure TForm1.Button1Click(Sender: TObject);
begin
ClientSocket1.SendBuf(Send, sizeof(Send));
end;

//В серваке

socket.receivebuf(Buf, socket.receivelength); // И вот тут возникает эта гадость.

Не


 
Dark_Dan ©   (2001-10-08 03:04) [4]

На счет блокировки это как в том месадже надо сделать что-то типа FireWell


 
Digitman ©   (2001-10-08 08:51) [5]

//"В серваке"
var
Buf: TSend;

socket.receivebuf(Buf, SizeOf(Send));


 
sedoy ©   (2001-10-08 17:50) [6]

Насчет must die ты не прав.
Проблема не в сервере - нужно
ClientSocket1.Socket.SendBuf(Send, sizeof(Send));
потому что
ClientSocket1 - TClientSocket, а
Socket - TClientWinSocket




 
Smart   (2001-10-10 09:53) [7]

Я так понимаю оно тебе говорит "Asynchronious socket error #???"
Погляди внимательно в тот момент когда ты шлешь мессагу у тебя
должно быть
<pre>
Server.Active=True
Client.Active=True
</pre>
Да к тому же sedoy прав надо все делать через
Server.Socket.Recieve....
Client.Cosket.Send...


 
sedoy ©   (2001-10-10 13:35) [8]

маленькая поправка :
Client.socket.send... - правильно, а в сервере просто Socket.recieve , потому что для сервера это находится в событии onRead, а у него есть параметр Socket, поэтому обращаясь как server.Socket.recieve, мы попадаем по-видимому в др. гнездо. отсюда и ошибки.
вот такие приколы...



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

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

Наверх




Память: 0.48 MB
Время: 0.016 c
4-22490
SergeyDonetsk
2001-11-06 09:22
2002.01.08
как на АПИ можно зная Handle Canvas а задать


6-22312
Leviathan
2001-10-15 00:24
2002.01.08
Эй, кто разбирается в Indy? Нужна помощь!


6-22308
Игорь
2001-10-14 09:44
2002.01.08
Обмен данными между клиентом и сервером в Delphi


1-22034
Alexey_K
2001-12-15 16:35
2002.01.08
Форма


1-22187
mitry
2001-12-15 02:53
2002.01.08
Thread: Suspend/Resume & Synchronize