Hello again.
Still the same board (TMDSEVM6670L), still the same problems.
I want to send from the PC (client) the string array to the board (server) and send back the string array, which is declared on board. I use this code on PC (client):
SOCKET mysocket; if (INVALID_SOCKET == (mysocket = socket (AF_INET, SOCK_STREAM, 0) ) ) { // Error... error = WSAGetLastError(); // ... } sockaddr_in mysocket_addr; ZeroMemory (&mysocket_addr, sizeof (mysocket_addr)); mysocket_addr.sin_family = AF_INET; mysocket_addr.sin_addr.S_un.S_addr = inet_addr ("192.168.1.200"); mysocket_addr.sin_port = htons (1234); if (SOCKET_ERROR == ( connect (mysocket, (sockaddr *) &mysocket_addr, sizeof (mysocket_addr) ) ) ) { // Error... error = WSAGetLastError(); // ... } if (SOCKET_ERROR == ( send (mysocket, sHELLO, sizeof(sHELLO), 0 ) ) ) { // Error... error = WSAGetLastError(); // ... } if (SOCKET_ERROR == ( recv (mysocket, (char* ) & buff, sizeof(*buff), 0 ) ) ) { // Error... error = WSAGetLastError(); // ... } closesocket(mysocket);
And this code on server (board):
SOCKET s; SOCKET client_socket; struct sockaddr_in server_addr; server_addr.sin_family = AF_INET; server_addr.sin_port = htons(1234); server_addr.sin_addr.s_addr = inet_addr("192.168.1.200"); s = socket (AF_INET, SOCK_STREAM, 0); bind(s, (struct sockaddr*)& server_addr, sizeof(server_addr)); struct sockaddr_in client_addr; client_addr.sin_addr.s_addr = inet_addr("192.168.1.1"); int client_addr_size=sizeof(client_addr); client_socket=accept(s, (struct sockaddr *)&client_addr, &client_addr_size); //connect - bind - accept - send - recieve listen(s, 0x100); for (;;) { recv(client_socket,&buff[0],sizeof(buff),0); send(client_socket,message,sizeof(message),0); }
Still i'm thinking that i've done everything completely wrong, so i;m really asking for help. And also, can i use not the "7" port for the connection, because it's using only for testing?
And also... I must use "sendto" and "recvfrom", or simple "send" and "recieve" would be enough?