Fórum Lendo e escrevendo com sockets!!!!! #256940
03/11/2004
0
Consegui fazer uma conexão via socket entre dois computadores.. mas preciso enviar uma string via esta conexão..
Código no ClientSocket :
No evento onclick de um botão qualquer
ClientSocket1.Active := True;
ClientSocket1.Socket.Write(ClientSocket1.Socket.SendText(string));
Código no Server Socket :
procedure TfrmIP_Client.ServerSocket1ClientWrite(Sender: TObject;
Socket: TCustomWinSocket);
begin
s_ip_Internet := Socket.ReceiveText;
P_Procura_Arquivo_Ini;
end;
o q estou fazendo de errado..
já que o evento do server é disparado todas as vezes que clico no botão..
debuguei, mas não é passado nenhuma string..
o q fazer??
Cabelo
Curtir tópico
+ 0Posts
03/11/2004
Cabelo
Gostei + 0
03/11/2004
Castor Troy
Possuo no form cliente um edit e um memo. Um componente ClientSocket com o adderess 127.0.0.1 e active true. No evento OnRead do ClientSocket eu tenho o seguinte:
[b:11c052479a]procedure TForm1.ClientSocket1Read(Sender: TObject;
Socket: TCustomWinSocket);
var mensagem: string;
begin
mensagem:=Socket.ReceiveText();
Memo1.Lines.Add(mensagem);
end;[/b:11c052479a]
No evento OnKeyPress do edit tenho o seguinte:
[b:11c052479a]procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
var mensagem: string;
begin
if Key = #13 then
begin
mensagem:=Edit2.Text+´ : ´+Edit1.Text;
ClientSocket1.Socket.SendText(mensagem);
Edit1.Clear;
end
end;[/b:11c052479a]
No servidor eu tenho um memo, um timer, um ServerSocket1 e uma label para contar quantos usuários estão conectados. No evento OnTimer eu tenho o seguinte
[b:11c052479a]procedure TForm1.Timer1Timer(Sender: TObject);
begin
qte_conexoes:=ServerSocket1.Socket.ActiveConnections;
Label2.Caption:=IntToStr(qte_conexoes);
end;[/b:11c052479a]
No evento OnClientRead eu tenho o seguinte:
[b:11c052479a]procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
var mensagem: string;
geral: integer;
begin
mensagem:=Socket.ReceiveText();
Memo1.Lines.Add(mensagem);
for geral:=0 to qte_conexoes-1 do ServerSocket1.Socket.Connections[geral].SendText(mensagem);
end;[/b:11c052479a]
OBS: a variável
[b:11c052479a]qte_conexoes: integer;[/b:11c052479a]
é uma variável pública
Gostei + 0
03/11/2004
Cabelo
Tem um exemplo similar a este no delphi..
Tentei usá-lo mas não consegui..
Quando faço assim o evento onClientRead do ServerSocket não dispara..
já o evento onClientWrite dispara mas não consigo ler o socket.receivetext..
o q será?
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)