Páginas: [1]
|
 |
|
Autor
|
Tema: Error famoso en mi vida... (Leído 383 veces)
|
|
|
D1e6o!
Desconectado
Mensajes: 133
|
No programo en delphi, pero... sin el code no creo que puedan dar una muy buena respuesta acerca de esto...
Fijate como inicializaste el socket? El error pareciera estar ahí. Saludos
|
|
|
|
|
En línea
|
|
|
|
skapunky
Electronik
Colaborador
Desconectado
Mensajes: 1.145
www.killtrojan.es
|
Hey, sin codigo es dicifil..de todas formas si tienes un problema grave con esto si quieres te ayudo. Dime algo.
Saludos.
|
|
|
|
|
En línea
|
Descarga Killtrojan Kit Reparación: aquíDescarga Killtrojan USB Antivirus : aquí
|
|
|
®®
Colaborador
Desconectado
Mensajes: 5.178
|
ahi te lo dice el socket no esta conectado. pon el codigo.
|
|
|
|
|
En línea
|
|
|
|
Codename!!
Desconectado
Mensajes: 798
|
Si esque creo yo que es una tontada tan gorda que nose dudne esta el fallo... Lo que realmente me tiene loco esque me tira el error como si no estuviera conetado, y hago netstat y de todo y esta conectado, ademas que en la accion de Onconnect tmb me avisan los dos komo que han setablecido conexion...., me he fijado que abre dos conexions con el mismo puerto uno se conecta y el otro queda en espera de que se conecte alguien mas... y eso yo no lo he hecho!! Aquí os dejo los codes... SERVIDOR;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ScktComp;
type TForm1 = class(TForm) sss: TServerSocket; enviar: TButton; procedure enviarClick(Sender: TObject); procedure sssClientRead(Sender: TObject; Socket: TCustomWinSocket); procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end;
var Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.enviarClick(Sender: TObject); begin if sss.Active= true then sss.Socket.SendText('hola desde el servidor')
else showmessage ( 'no estas konectao'); end;
procedure TForm1.sssClientRead(Sender: TObject; Socket: TCustomWinSocket); begin showmessage(sss.Socket.ReceiveText); end;
procedure TForm1.FormCreate(Sender: TObject); begin sss.Port:=666; sss.Active:=true;
end;
end.
CLIENTE;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ScktComp;
type TForm1 = class(TForm) ccc: TClientSocket; enviar: TButton; conectar: TButton; procedure enviarClick(Sender: TObject); procedure FormCreate(Sender: TObject); procedure cccRead(Sender: TObject; Socket: TCustomWinSocket); procedure conectarClick(Sender: TObject); private { Private declarations } public { Public declarations } end;
var Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.enviarClick(Sender: TObject); begin ccc.Socket.SendText('hola!'); end;
procedure TForm1.FormCreate(Sender: TObject); begin ccc.Host:='127.0.0.1'; ccc.Port:=666; end;
procedure TForm1.cccRead(Sender: TObject; Socket: TCustomWinSocket); begin showmessage(ccc.Socket.ReceiveText); end;
procedure TForm1.conectarClick(Sender: TObject); begin ccc.active:=true; end;
end.
PD: Quito el wireless y el zonealarm porsiakaso era eso.. pero nada lo unico activo es el nod32... 
|
|
|
|
« Última modificación: 09 Agosto 2007, 13:11 por Codename!! »
|
En línea
|
|
|
|
skapunky
Electronik
Colaborador
Desconectado
Mensajes: 1.145
www.killtrojan.es
|
Yo las conexiones no las hago asi....te pasao por privao el tutorial de sockets en delphi que hice...de todas formas donde pones: ccc.active:=true; Prueba haber si puedes lo siguiente: ccc.socket.active:=true; (supongo que ccc es el nombre que le has dado al contreol del winsock. Saludos.
|
|
|
|
|
En línea
|
Descarga Killtrojan Kit Reparación: aquíDescarga Killtrojan USB Antivirus : aquí
|
|
|
Codename!!
Desconectado
Mensajes: 798
|
(supongo que ccc es el nombre que le has dado al contreol del winsock.
Saludos.
Voy a probrar asi, no sea ese el fallo, si lo es sera un fallo muuy tonto, yo mismo me dare cabezazos kontra el suelo jaja, os aviso para lo que sea.
|
|
|
|
|
En línea
|
|
|
|
|
|
Codename!!
Desconectado
Mensajes: 798
|
Solucionado. Para el que le ocurra lo mismo, el error consiste en que no sabe que conexion es la que esta activa, aunque nosotros pensemos que si que lo sabe, hay que definirla siempre en el servidor, el cliente no lo necesita. Para hacer esto simplemente es: server.socket.connections[0].receivetext o send text; el truco está en el [0]. Espero ayudar alguno mas como yo jeje, un saludo gente.
|
|
|
|
|
En línea
|
|
|
|
|
Páginas: [1]
|
|
|
|