AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Chat Funktion

Ein Thema von Counter909 · begonnen am 23. Jul 2008 · letzter Beitrag vom 24. Jul 2008
Antwort Antwort
Seite 1 von 2  1 2      
Counter909

Registriert seit: 10. Aug 2006
129 Beiträge
 
#1

Chat Funktion

  Alt 23. Jul 2008, 13:41
HI


also ich hab in meinem Projekt einen kleinen Chat zwischen nur ZWEI Leuten:

folgendes hab ich gemacht:

Mensch 1 (Server) : startet den Serversocket
Mensch 2 (client) : verbinden sich mit Clientsocket

---> Nachricht: erfolgreich verbunden

soweit alles klar


jetzt gibt es auf beiden Seiten ein MemoFeld und ein Senden Button:

Mensch1 : serversocket1.socket.sendtext ( button.text )
Mensch2 : empfangen := clientsocket1.socket.receivetext
memo1.lines.add ( empfangen ) ;


In dem Moment wo der Text vom Mensch1 abgsand wird, kommt die Fehlermeldung:

http://img501.imageshack.us/img501/3...7231341cf1.jpg
Da steht ja, dass er nicht verbunden ist, aber hab vor die Connection z.B mit einer showmessage geprüft. da sagt er dann, dass er verbunden ist
hoffe das ist verständlich geworden, ansonst fragt gerne nach

vielen dank

mfg
counter
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#2

Re: Chat Funktion

  Alt 23. Jul 2008, 13:42
Zeig mal den Code bitte.
  Mit Zitat antworten Zitat
Counter909

Registriert seit: 10. Aug 2006
129 Beiträge
 
#3

Re: Chat Funktion

  Alt 23. Jul 2008, 13:48
welchen willst du denn genau haben ?

sind ja quasi zwei unterschiedliche programme


also das ist vom send-button


Delphi-Quellcode:
procedure TForm2.Button1Click(Sender: TObject);
var text:string;
begin
text:=edit1.Text;
memo1.Lines.Add('Client: '+text+'');
form2.ServerSocket1.Socket.SendText(edit1.text);
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Chat Funktion

  Alt 23. Jul 2008, 13:50
Wenn dein Auto kaputt ist, bringst du dann auch immer dein Fahrrad in die Werkstatt? Wie soll man die helfen, wenn du die benötigten Details für dich behältst
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Mikescher
Mikescher

Registriert seit: 3. Jun 2008
Ort: Offenburg
265 Beiträge
 
Delphi 2009 Professional
 
#5

Re: Chat Funktion

  Alt 23. Jul 2008, 13:55
Am besten lädst du mal beide Quellcodes vollständig hoch dann kann man dir auch schon mal besser helfen
Mike
Operation gelungen, Patient tot.

http://www.mikescher.com
  Mit Zitat antworten Zitat
Counter909

Registriert seit: 10. Aug 2006
129 Beiträge
 
#6

Re: Chat Funktion

  Alt 23. Jul 2008, 14:00
SERVER:

Delphi-Quellcode:
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
serversocket1.Active := false;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
serversocket1.Active:= true;
panel1.Color:=cllime;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
serversocket1.Active:= false;
panel1.Color:=clred;
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
close;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
ShellExecute(Handle, 'OPEN', 'http://wieistmeineip.de', nil, nil, SW_SHOWNORMAL)
end;

procedure TForm1.ClientSocket1Read(Sender: TObject;
  Socket: TCustomWinSocket);
var text:string;
begin
 text:= form1.ClientSocket1.socket.ReceiveText ;
 memo1.Lines.Add('Host: '+text+'');
end;

end.


CLIENT:


Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin

 clientsocket1.Address:= edit1.Text;
 clientsocket1.port := strtoint(edit2.Text)//der richtige port ist auf der anderen seite eingestellt
 
 clientsocket1.Active:= true;
 if clientsocket1.Active = true then button1.Font.Color:= cllime;
  
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
close;
end;

procedure TForm1.ClientSocket1Connect(Sender: TObject;
  Socket: TCustomWinSocket);
begin
  edit1.Color:= cllime;
  groupbox1.Enabled:=true; // wird grün, weil er connected ist
end;

procedure TForm1.ClientSocket1Connecting(Sender: TObject;
  Socket: TCustomWinSocket);
begin
  edit1.Color:= clyellow;
end;

procedure TForm1.ClientSocket1Error(Sender: TObject;
  Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
  var ErrorCode: Integer);
begin
   ErrorCode:= 0;
   MessageDlg('Cannot connect to Server!', mtError, [mbOk], 0);
   edit1.Color:= clwindow;
end;

procedure TForm1.ChatClick(Sender: TObject);
var text:string;
begin
text:=edit5.Text;
memo1.Lines.Add('Client: '+text+'');
form1.ServerSocket1.Socket.SendText(edit5.text);
end.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: Chat Funktion

  Alt 23. Jul 2008, 14:02
Der Verbindungsaufbau fehlt aber trotzdem. Machst du dass im OI?
Markus Kinzler
  Mit Zitat antworten Zitat
Counter909

Registriert seit: 10. Aug 2006
129 Beiträge
 
#8

Re: Chat Funktion

  Alt 23. Jul 2008, 14:05
nein....active := true ??
  Mit Zitat antworten Zitat
delphis spassbremse

Registriert seit: 7. Jun 2007
Ort: Enger
104 Beiträge
 
Delphi 7 Enterprise
 
#9

Re: Chat Funktion

  Alt 23. Jul 2008, 14:10
Hallo,

das Problem ist folgendes:

Du kannst nicht mit dem Serversocket einfach ein sendText() benutzen.
Der weiß gar nicht, wohin....

versuchs mal damit:

Delphi-Quellcode:
procedure message_broadcast(socket: TServerWinSocket; text: String);
var i: Integer;
begin
  for i := 0 to socket.ActiveConnections - 1 do
  begin
    socket.Connections[i].SendText(text));
  end;
end;
aufruf mit:

message_broadcast(form2.serversocket.socket, 'meinText'); Grüße,

Björn
  Mit Zitat antworten Zitat
Counter909

Registriert seit: 10. Aug 2006
129 Beiträge
 
#10

Re: Chat Funktion

  Alt 23. Jul 2008, 14:18
ok das probiere ich dann gleich oder bissel später, weil ich da ja komplett umänder, wegen twinsock, aber schonmal guter tipp


aber der verbindungsaufbau würd mich jetzt nochmal interessieren
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:32 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz