Witam :)
Temat zakładam bo natknąłem sie na dziwny błąd komunikatora który sam napisalem pare tygodni temu(a może coś jest nie tak w moim systemie,ale o tym zaraz).
Sprawa ma sie tak że komunikator(kod w załączniku) w sieci LAN działa znakomicie,testowałem go na dwóch róznych komputerach podpiętych do jednego routera i wszystko smiga pięknie...zabawa zaczyna sie kiedy chce wyslac wiadomość przez VLAN postawioną za pomocą hamachi.
Osoba po drugiej stronie robi to bez problemu,ale moje wiadomosci nie chca dojść za nic w swiecie(używamy tej samej wersji komunikatora,bez podziału na client server a przy polaczenie LAN tez byla to ta sama wersja)Dwa razy przeprowadzałem test z dwoma innymi komputerami oraz moim ,pewnie przeoczyłem jakąś głupote...Nie mam jak przetestować programu na dwóch innych komputerach (bo nie są one moje)(ciekawe czy byłyby w stanie pisać)
Ps.
-to mój pierwszy program internetowy
-adres IP który jest wpisywany na starcie,jest wymagany przez borlanda
-zamieniałem porty miejscami i nic to nie dało
-zapora odpada,bo nadawca mógł to wyslać,a ja mogłem odebrać
-myśle że może gdzieś w kodzie jest coś co sprawia że wiadomości można wysylać tylko do mnie,ale nigdzie tego nie widze
co ciakawe przy połączeniu LAN wszystko działało...
Wybaczcie chaos w poscie,ale nigdy nie miałem talentu do wypowiedzi pisemnej :P
Jeśli zapomniałem dodać jakąś ważną informacje,dajcie znać to natychmiast dopisze...
Pozdrawiam i dziekuje za doczytanie do końca :)
kod
(nie jest to kod z zadania ,mojego autorstwa,wiec chyba nikt sie nie obrazi jak wstawie w tekst )
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
ServerSocket1->Port = 24;
ClientSocket1->Port = 23;
ClientSocket1->Host= "25.154.47.179";
ServerSocket1->Active = True;
ClientSocket1->Active = True;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)
{
ServerSocket1->Active = False;
ClientSocket1->Active = False;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ServerSocket1ClientRead(TObject *Sender,
TCustomWinSocket *Socket)
{
WPrzychEdit->Text = Socket->ReceiveText();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::WyslijButtonClick(TObject *Sender)
{
if( ClientSocket1->Active )
ClientSocket1->Socket->SendText(WWychEdit->Text);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ZmienIPButtonClick(TObject *Sender)
{
ClientSocket1->Active = False;
ClientSocket1->Host = IPOdbiorcyEdit->Text;
ClientSocket1->Active = True;
}
//---------------------------------------------------------------------------