Вообщем есть клиент:
| Код | #include <stdio.h> #include <winsock2.h> #include <windows.h> #include <iostream> using namespace std;
int main() { char buff[1024]; char a[6] = "hello"; WSAStartup(0x202, (WSADATA *)&buff[0]); SOCKET my_sock; my_sock = socket(AF_INET, SOCK_STREAM, 0); sockaddr_in dest_addr; dest_addr.sin_family = AF_INET; dest_addr.sin_port =htons(666); HOSTENT *hst; dest_addr.sin_addr.s_addr = inet_addr("127.0.0.1"); connect(my_sock, (sockaddr *)&dest_addr, sizeof(dest_addr)); int t = send(my_sock, (char*)&a, (int)sizeof(a), 0); cout << "\n" << t; Sleep(10000); closesocket(my_sock); return 0; }
|
И сервер:
| Код | #include <stdio.h> #include <winsock2.h> #include <windows.h> #include <iostream> using namespace std;
int main() { char buff[1024]; char k[6]; WSAStartup(0x0202, (WSADATA *)&buff[0]); SOCKET mysocket; mysocket = socket(AF_INET, SOCK_STREAM, 0); sockaddr_in local_addr; local_addr.sin_family = AF_INET; local_addr.sin_port = htons(666); local_addr.sin_addr.s_addr = 0; bind(mysocket, (sockaddr *)&local_addr, sizeof(local_addr)); listen(mysocket, 5); accept(mysocket, NULL, NULL); recv(mysocket, (char*) &k, 6, 0); cout << k; Sleep (10000); return 0; }
|
Клиент отправляет данные и сервер их получает, но не выводит их, в чем может проблема?
Еще есть вопрос: объявленные мной переменные (или массивы) - не пустые, в них лежат левые данные. Так и должно быть? Это связанно как-то с очисткой памяти? PS знаю код кривой, но я новичок |