![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как заставит два TClientSocket одновременно отправлять текст??? [D6, XP]
Новочеркасский Волк © (2006-03-09 00:15:00)Здравствуйте. Подскажите пожалуйсто вот мне надо чтоб по нажатию Buttion1 ClientSocket1 отправлял своему серверу текст (доустим) "ааа", а ClientSocket2 отправлял текст "ббб" своему серверу. Когда это осуществляеш вылетает ошибка, что типа нельзя отпра влять сразу два. Я пробовал, отгораживал их Буливской переменной, что сначала один, потом другой но нет всё рано не могут!!! Подскажите что делать.
----------------------------------------------
Заранее очень благодарен!!!
Новочеркасский Волк (2006-03-12 22:45:00) [1]Удалено модератором
Новочеркасский Волк (2006-03-11 14:55:00) [2]Удалено модератором
Примечание: Создание пустых соощений
Новочеркасский Волк (2006-03-09 17:38:00) [3]Ссылка не пашет!!!
Сергей М. (2006-03-09 17:15:00) [4]book.itep.ru
Новочеркасский Волк (2006-03-09 17:12:00) [5]Ошибки таковы: Первое окошко с ошибкой: Asynchronous socket error 10053. А второе: Windows socket error: Запрос на отправку или получение данных (when sending on datagram socket using a sento call) no address was supplied (10057), on API 'recv'
Вот сисходник сервера и клиента:
Сервер
procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
var
KIP: String;
begin
KIP:=(ServerSocket1.Socket.ReceiveText);
Edit1.Text:=(KIP);
end;
procedure TForm1.ServerSocket2ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
var
KIPe: String;
begin
KIPe:=(ServerSocket2.Socket.ReceiveText);
Edit2.Text:=(KIPe);
end;
------------------------------------------------------------------
Клиент:
procedure TForm1.Button1Click(Sender: TObject);
var
IPP: String;
begin
ClientSocket1.Active:=True;
ClientSocket2.Active:=True;
end;
procedure TForm1.Button2Click(Sender: TObject);
var
bol: Boolean;
begin
Bol:=False;
if bol=false then
begin
ClientSocket1.Socket.SendText('aaa');
bol:=True;
end;
if bol=True then
begin
ClientSocket1.Socket.SendText('ббб');
end;
end;
------------------------------------------------------
Заранее всем благодарен!!!
Новочеркасский Волк (2006-03-09 17:04:00) [6]Ошибки таковы: Первое окошко с ошибкой: Asynchronous socket error 10053. А второе: Windows socket error: Запрос на отправку или получение данных (when sending on datagram socket using a sento call) no address was supplied (10057), on API 'recv'
Вот сисходник сервера и клиента:
Сервер
procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
var
KIP: String;
begin
KIP:=(ServerSocket1.Socket.ReceiveText);
Edit1.Text:=(KIP);
end;
procedure TForm1.ServerSocket2ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
var
KIPe: String;
begin
KIPe:=(ServerSocket2.Socket.ReceiveText);
Edit2.Text:=(KIPe);
end;
Клиент:
procedure TForm1.Button1Click(Sender: TObject);
var
IPP: String;
begin
ClientSocket1.Active:=True;
ClientSocket2.Active:=True;
end;
procedure TForm1.Button2Click(Sender: TObject);
var
bol: Boolean;
begin
Bol:=False;
if bol=false then
begin
ClientSocket1.Socket.SendText('aaa');
bol:=True;
end;
if bol=True then
begin
ClientSocket1.Socket.SendText('ббб');
end;
end;
------------------------------------------------------
Заранее всем благодарен!!!
Германн (2006-03-09 01:42:00) [7]
> Когда это осуществляеш вылетает ошибка, что типа нельзя
> отпра влять сразу два.
Оригинал в студию!