14/12/06 14:49
posta10100
Qualcuno ha idea del perchè questo codice funziona su win ma non su linux e solaris?
Su questi due sistemi la connessione sembra a posto (il metodo Ok ritorna true) invia il carattere ma prima di fare Socket->Read(...) da segmentation fault!
Dall'analisi del core.xxx sembra che cerca di leggere (un evento??) da una tabella e cade!
GRAZIE!!!
Su questi due sistemi la connessione sembra a posto (il metodo Ok ritorna true) invia il carattere ma prima di fare Socket->Read(...) da segmentation fault!
Dall'analisi del core.xxx sembra che cerca di leggere (un evento??) da una tabella e cade!
void ClientFrame::ConnectButtonClick(wxCommandEvent& event) { wxIPV4address addr; addr.Hostname(wxT("mia_macchina")); addr.Service(3000); wxSocketClient *Socket = new wxSocketClient(); Socket->Connect(addr, false); if (!Socket->Ok()) { wxMessageBox(wxT("Socket connection error.")); return; } unsigned char code = 0xAA; Socket->Write(&code, sizeof(code)); //------------------ Qui da segmentation fault Socket->Read(&code, sizeof(code)); if (code == 0xBB) { code = 0xCC; Socket->Write(&code, sizeof(code)); wxString version("5_Win"); unsigned int versionLength = version.Len(); Socket->Write(&versionLength, sizeof(versionLength)); Socket->Write(version, versionLength); } Socket->Close(); }
GRAZIE!!!
Ultima modifica effettuata da posta10100 14/12/06 15:16
aaa