Internet Stream
-
Hallo
ich würde gerne 2 kleine programme schreiben:
-Das erste soll ein server sein
-Das zweite soll dem Server ein String schickenWie geht das? Also an eine bestimmte URL (mit dyndns.com), die an den server weitergeleitet wird.
Danke schon mal
-
Hallo
IchBinRegistriert schrieb:
Hallo
ich würde gerne 2 kleine programme schreiben:
-Das erste soll ein server seinZ.B TServerSocket
-Das zweite soll dem Server ein String schicken
Z.B. TClientSocket
Also an eine bestimmte URL (mit dyndns.com), die an den server weitergeleitet wird.
bis bald
akari
-
kannst du mir einen bseispielcode geben wie ich damit ein String verschicken (bzw. empfangen) kann?
Bei google findet man nur für Java und da weiß ich wie es geht
-
Schau dir mal das Chat-Programm im Unterordner "BCB/Examples" an...
-
Mich interessiere das auch aber ich hab nur den Ordner Demos, mit Beispielen.
Aber nur lokales Ein Chat Prog hab ich nicht gefunden, oder im Programm-
ordner ist auch nix "Example mäßiges". Bin zu blöd zum finden, oder hab es gar nicht
.
Gibts das noch irgendwo anders zu finden ?
-
Ich habe noch den alten BCB 5, dort gibt es unter "Examples/Internet/Chat" ein Beispielprojekt für die Verwendung von Server- und ClientSocket.
Wie das bei den anderen Versionen aussieht, weiß ich leider nicht (ansonsten such doch mal einfach nach dem Begriff "ServerSocket" im Ordner 'Demos).
-
kannst du mir vielleicht einen kurzen bsp code geben ich finde das programm nicht
-
Hier mal die beiden Dateien des Formulars (ohne DFM-Datei):
1. Header//---------------------------------------------------------------------------- //Borland C++Builder //Copyright (c) 1987, 1997 Borland International Inc. All Rights Reserved. //---------------------------------------------------------------------------- //--------------------------------------------------------------------------- #ifndef mainH #define mainH //--------------------------------------------------------------------------- #include <Classes.hpp> #include <Controls.hpp> #include <StdCtrls.hpp> #include <Forms.hpp> #include "ScktComp.hpp" #include <Buttons.hpp> #include <ComCtrls.hpp> #include <ExtCtrls.hpp> #include <Menus.hpp> //--------------------------------------------------------------------------- class TChatForm : public TForm { __published: // IDE-managed Components TBevel *Bevel1; TStatusBar *StatusBar1; TPanel *Panel1; TSpeedButton *SpeedButton1; TMemo *Memo1; TMemo *Memo2; TMainMenu *MainMenu1; TMenuItem *File1; TMenuItem *FileListenItem; TMenuItem *FileConnectItem; TMenuItem *Disconnect1; TMenuItem *N1; TMenuItem *Exit1; TServerSocket *ServerSocket; TClientSocket *ClientSocket; void __fastcall FileListenItemClick(TObject *Sender); void __fastcall FileConnectItemClick(TObject *Sender); void __fastcall Exit1Click(TObject *Sender); void __fastcall Memo1KeyDown(TObject *Sender, WORD &Key, TShiftState Shift); void __fastcall FormCreate(TObject *Sender); void __fastcall ClientSocketConnect(TObject *Sender, TCustomWinSocket *Socket); void __fastcall ClientSocketDisconnect(TObject *Sender, TCustomWinSocket *Socket); void __fastcall ClientSocketRead(TObject *Sender, TCustomWinSocket *Socket); void __fastcall ServerSocketClientRead(TObject *Sender, TCustomWinSocket *Socket); void __fastcall ServerSocketAccept(TObject *Sender, TCustomWinSocket *Socket); void __fastcall ServerSocketClientConnect(TObject *Sender, TCustomWinSocket *Socket); void __fastcall Disconnect1Click(TObject *Sender); void __fastcall ClientSocketError(TObject *Sender, TCustomWinSocket *Socket, TErrorEvent ErrorEvent, int &ErrorCode); void __fastcall ServerSocketClientDisconnect(TObject *Sender, TCustomWinSocket *Socket); private: // User declarations public: // User declarations bool IsServer; String Server; __fastcall TChatForm(TComponent* Owner); }; //--------------------------------------------------------------------------- extern TChatForm *ChatForm; //--------------------------------------------------------------------------- #endif
2. Source
//---------------------------------------------------------------------------- //Borland C++Builder //Copyright (c) 1987, 1997 Borland International Inc. All Rights Reserved. //---------------------------------------------------------------------------- //--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #include "main.h" //--------------------------------------------------------------------------- #pragma link "ScktComp" #pragma resource "*.dfm" TChatForm *ChatForm; //--------------------------------------------------------------------------- __fastcall TChatForm::TChatForm(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TChatForm::FileListenItemClick(TObject *Sender) { FileListenItem->Checked = !FileListenItem->Checked; if (FileListenItem->Checked) { ClientSocket->Active = false; ServerSocket->Active = true; StatusBar1->Panels->Items[0]->Text = "Listening..."; }else { if (ServerSocket->Active) { ServerSocket->Active = false; } StatusBar1->Panels->Items[0]->Text = ""; } } //--------------------------------------------------------------------------- //--------------------------------------------------------------------------- void __fastcall TChatForm::FileConnectItemClick(TObject *Sender) { if (ClientSocket->Active) { ClientSocket->Active = false; } if (InputQuery("Computer to connect to", "Address Name:", Server)) { if (Server.Length() > 0) { ClientSocket->Host = Server; ClientSocket->Active = true; FileListenItem->Checked = false; } } } //--------------------------------------------------------------------------- //--------------------------------------------------------------------------- void __fastcall TChatForm::Exit1Click(TObject *Sender) { ServerSocket->Close(); ClientSocket->Close(); Close(); } //--------------------------------------------------------------------------- //--------------------------------------------------------------------------- void __fastcall TChatForm::Memo1KeyDown(TObject *Sender, WORD &Key, TShiftState Shift) { if (Key == VK_RETURN) { if (IsServer){ServerSocket->Socket->Connections[0]->SendText( Memo1->Lines->Strings[Memo1->Lines->Count - 1]); } else { ClientSocket->Socket->SendText(Memo1->Lines->Strings[ Memo1->Lines->Count -1]);} } } //--------------------------------------------------------------------------- //--------------------------------------------------------------------------- void __fastcall TChatForm::FormCreate(TObject *Sender) { FileListenItemClick(NULL); } //--------------------------------------------------------------------------- //--------------------------------------------------------------------------- void __fastcall TChatForm::ClientSocketConnect(TObject *Sender, TCustomWinSocket *Socket) { StatusBar1->Panels->Items[0]->Text = "Connect to: " + Socket->RemoteHost; } //--------------------------------------------------------------------------- //--------------------------------------------------------------------------- void __fastcall TChatForm::Disconnect1Click(TObject *Sender) { ClientSocket->Active = false; ServerSocket->Active = true; StatusBar1->Panels->Items[0]->Text = "Listening..."; } //--------------------------------------------------------------------------- //--------------------------------------------------------------------------- void __fastcall TChatForm::ClientSocketRead(TObject *Sender, TCustomWinSocket *Socket) { Memo2->Lines->Add(Socket->ReceiveText()); } //--------------------------------------------------------------------------- //--------------------------------------------------------------------------- void __fastcall TChatForm::ServerSocketClientRead(TObject *Sender, TCustomWinSocket *Socket) { Memo2->Lines->Add(Socket->ReceiveText()); } //--------------------------------------------------------------------------- //--------------------------------------------------------------------------- void __fastcall TChatForm::ServerSocketAccept(TObject *Sender, TCustomWinSocket *Socket) { IsServer = true; StatusBar1->Panels->Items[0]->Text = "Connect to: " + Socket->RemoteAddress; } //--------------------------------------------------------------------------- //--------------------------------------------------------------------------- void __fastcall TChatForm::ServerSocketClientConnect(TObject *Sender, TCustomWinSocket *Socket) { Memo2->Lines->Clear(); } //--------------------------------------------------------------------------- //--------------------------------------------------------------------------- void __fastcall TChatForm::ClientSocketDisconnect(TObject *Sender, TCustomWinSocket *Socket) { FileListenItemClick(NULL); } //--------------------------------------------------------------------------- //--------------------------------------------------------------------------- void __fastcall TChatForm::ClientSocketError(TObject *Sender, TCustomWinSocket *Socket, TErrorEvent ErrorEvent, int &ErrorCode) { Memo2->Lines->Add("Error connecting to:" + Server); ErrorCode = 0; } //--------------------------------------------------------------------------- //--------------------------------------------------------------------------- void __fastcall TChatForm::ServerSocketClientDisconnect(TObject *Sender, TCustomWinSocket *Socket) { StatusBar1->Panels->Items[0]->Text = "Listening..."; } //--------------------------------------------------------------------------- //---------------------------------------------------------------------------