jaco94++ (Normal User)
Expert
Messaggi: 203
Iscritto: 22/10/2008
|
Salve a tutti .
Ho un problema sto cercando di comunicare con i server come il programma telnet solo che ho un piccolo problemino allora per fare i test uso un programma che mi sono scritto in c# che in sostanza è una piccola chat e quando mi connetto a questo programma, il problema non si pone riesco sia ad inviare e ricevere stringhe di testo mentre che se mi connetto al server di altervista alla porta 21 dopo aver ricevuto il benvenuto eccetera se provo ad inviare un comando non ottengo risposta dal server come mai ?
uso questo codice :
Codice sorgente - presumibilmente C++ |
DWORD rec (LPDWORD lpdwParam); SOCKET sock_deb; void debserver(string ip,short port) { SOCKADDR_IN addr; struct sockaddr_in sock_addr; WSADATA data; WORD p=MAKEWORD(2,0); int err=WSAStartup(p,&data); addr.sin_family = AF_INET; addr.sin_addr.s_addr = inet_addr("178.63.0.7"); addr.sin_port = htons(21); sock_deb = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); while(true) { if (connect(sock_deb, (LPSOCKADDR)&addr, sizeof(addr)) < 0) { SetConsoleTextAttribute (hConsole, FOREGROUND_RED | FOREGROUND_INTENSITY); cout<<"\nConnection Failed\n"<<endl; SetConsoleTextAttribute (hConsole, FOREGROUND_GREEN | FOREGROUND_INTENSITY); // break; } DWORD dwThreadId, dwThrdParam = 1; HANDLE thread = CreateThread(NULL, 0,(LPTHREAD_START_ROUTINE) rec, &dwThrdParam, 0, &dwThreadId); string mex=""; getline(cin,mex); int i=mex.size(); send(sock_deb,mex.c_str(),i,0); } } DWORD rec (LPDWORD lpdwParam) { char rec[1000]=""; while (true) { recv(sock_deb,rec,sizeof(rec),0); cout<<rec<<endl; } }
|
|