-
20.05.2004, 15:47 #1
- Регистрация
- 30.01.2004
- Возраст
- 39
- Сообщений
- 27
- Поблагодарили
- 0
- Поблагодарил
- 0
Сокеты на делфи
Использую компонет ClientSocket в Делфи 6
Создаю и открываю сокет
procedure TForm1.Button1Click(Sender: TObject);
begin
ClientSocket1.Host:='www.host.ru';
ClientSocket1.Port:=80;
ClientSocket1.Open;
end;
Отсылаю запрос на сервер
procedure TForm1.ClientSocket1Connect(Sender: TObject;
Socket: TCustomWinSocket);
begin
ClientSocket1.Socket.SendText('GET /bla/bla'+#13#10+#13#10)end;
Читаю с сокета
procedure TForm1.ClientSocket1Read(Sender: TObject;
Socket: TCustomWinSocket);
begin
Memo1.Text:=Socket.ReceiveText;
end;
Выдается сообщение об ошибке 11041ю В чем причина?
-
20.05.2004, 16:06 #2
- Регистрация
- 17.08.2002
- Адрес
- ko85mo, RDA MO-56
- Возраст
- 59
- Сообщений
- 2,983
- Поблагодарили
- 396
- Поблагодарил
- 158
Почитай MSDN. Там три раздела по ошибкам. Ищи по коду.
-
20.05.2004, 16:26 #3
- Регистрация
- 17.08.2002
- Адрес
- ko85mo, RDA MO-56
- Возраст
- 59
- Сообщений
- 2,983
- Поблагодарили
- 396
- Поблагодарил
- 158
Попалась под руку книжка "Программирование в сетях MS Windows". Там написано: 10041 - Неверный тип протокола для сокета. При вызове socket или WSASocket указан протокол, не поддерживающий семантику данного типа сокета. Например, попытка создать IP-сокет типа SOCK_STREAM с протоколом IPPROTO_UDP.
Кстати, когда выдается сообщение об ошибке и где - у клиента или сервера?
С одного и того же сокета слать и посланное на него же принимать нельзя.
Возьми пример из Дельфей и внимательно изучи!Последний раз редактировалось rk3fw; 20.05.2004 в 16:29.
-
20.05.2004, 16:29 #4
- Регистрация
- 12.04.2003
- Адрес
- Житомир, Украина
- Возраст
- 43
- Сообщений
- 655
- Поблагодарили
- 12
- Поблагодарил
- 1
if ( IdTCPClient1.Connected ) then IdTCPClient1.Disconnect();
IdTCPClient1.Port := 80;
IdTCPClient1.Host := 'cs';
IdTCPClient1.Connect( );
IdTCPClient1.WriteLn( 'GET /~bioname/upload/index.php'+#13#10 );
memo1.Lines.Add( IdTCPClient1.CurrentReadBuffer( ) );
if ( IdTCPClient1.Connected ) then IdTCPClient1.Disconnect();
ответ:
<html>
<head>
<title>Upload File For Bioname</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<center>
<h4>Upload File:</h4>
<form action="upload.php" method="post" enctype="multipart/form-data">
<table border="0" width="50%">
<tr bgcolor="#e1e1e1" width="100%">
<td colspan="2" align="center" valign="center"><b><h3>Upload File To Server</h3><b></td>
</tr><tr><td> </td></tr>
<tr>
<td align="right" width="50%"><b> User: </b></td><td align="left" width="50%"><input type="text" name="user"></td>
</tr>
<tr>
<td align="right" width="50%"><b> Password: </b></td><td align="left" width="50%"><input type="password" name="pswd"></td>
</tr>
<tr>
<td align="right" width="50%"><b> File Name: </b></td><td align="left" width="50%"><input type="file" name="filename"></td>
</tr>
<tr>
</tr><tr><td> </td></tr>
<td align="center" width="100%" colspan="2"><font color="black"><input type="submit" name="Send" value="Upload Now !"></h3></font></td>
</tr>
</table></form>
</body>
</html>
собсно, думаю понятно что к чему....Последний раз редактировалось Bioname; 20.05.2004 в 16:32.
-
20.05.2004, 18:19 #5
- Регистрация
- 17.08.2002
- Адрес
- ko85mo, RDA MO-56
- Возраст
- 59
- Сообщений
- 2,983
- Поблагодарили
- 396
- Поблагодарил
- 158
Вообще-то TClientSocket поддерживает соединение с TServerSocket, а не с TClientSocket.
Кстати, что-то не понятно с ответом или в форуме глюк какой.
-
20.05.2004, 19:45 #6
- Регистрация
- 12.04.2003
- Адрес
- Житомир, Украина
- Возраст
- 43
- Сообщений
- 655
- Поблагодарили
- 12
- Поблагодарил
- 1
Полюбому клиент к клиенту не законнектится. прикол же в том что сервер делает всё время "listen" (или bind - кому как больше нравится) и ждёт входящих соединений, а клиент так не умеет. (конечно если для сокета не делать бинд - тогда это "будет" сервер)
-
21.05.2004, 09:02 #7
- Регистрация
- 17.08.2002
- Адрес
- ko85mo, RDA MO-56
- Возраст
- 59
- Сообщений
- 2,983
- Поблагодарили
- 396
- Поблагодарил
- 158
Так и я о том же.
|
Социальные закладки