Здраствуйте. Читал доки по winsock и решил написать серверную и клиентскую части. Но проблема: сервер принимает от клиента какие-то неизвестные символы (похожи на "столбики"). Вот код: Сервер:
| Код | using namespace std; WSADATA wsa; // Info about winsock2 char szRecvBuff[1024]; int error; WSAStartup(MAKEWORD(1,0), &wsa); // Loading library winsock2 SOCKET mySocket = socket(AF_INET,SOCK_STREAM,IPPROTO_TCP); // Создание сокета sockaddr_in AdressInfo; AdressInfo.sin_family = AF_INET; // Internet technology (TCP,UDP etc) AdressInfo.sin_port = htons(4888); AdressInfo.sin_addr.s_addr=htonl(INADDR_ANY);
error = bind(mySocket, (SOCKADDR*)&AdressInfo, sizeof(AdressInfo)); //Связывание даных с сокетом switch(error) { case 0: cout<<"\tBind . . . OK\n"; break; default: cout<<"Bind . . . ERROR\n"; break; }; error = listen(mySocket, 5); // Прослушка switch(error) { case 0: cout<<"\tListen process . . . OK\n"; break; default: cout<<"Listen process . . . ERROR\n"; break; }; int AdressInfoSize = sizeof(AdressInfo); while (1) { accept(mySocket, (struct sockaddr *)&AdressInfo,&AdressInfoSize); recv(mySocket, szRecvBuff, 1024, 0); Sleep(5000); for(int a=0; a<1024; a++) cout<<szRecvBuff[a]; }
|
Клиент:
| Код | using namespace std; WSADATA wsa; // Info about winsock char szSendBuff[1024]="Hello world";
WSAStartup(MAKEWORD(1,0), &wsa); // Loading library ws2_32.lib SOCKET mySocket = socket(AF_INET,SOCK_STREAM,IPPROTO_TCP); // Создание сокета
sockaddr_in AdressInfo;
AdressInfo.sin_family = AF_INET; // Internet technology (TCP,UDP etc) AdressInfo.sin_port = htons(4888); AdressInfo.sin_addr.s_addr=inet_addr("127.0.0.1"); bind(mySocket, (SOCKADDR*)&AdressInfo, sizeof(AdressInfo)); //Связывание даных с сокетом int AdressInfoSize = sizeof(AdressInfo); cout<<connect(mySocket,(SOCKADDR*)&AdressInfo,AdressInfoSize); // Подключение send(mySocket,szSendBuff,1024,0);
|
Зарание спасибо. Буду очень благодарен |