- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I've a problem with my tcp server socket. When I start my server socket and try to connect with a client application I the server socket do an error 88 (Socket operation on non-socket). This problem happens only the first time that I try to make a client-server connection. Can anyone help me? thank you StePa this is my code: int TCPIPserver(int fd) { struct sockaddr_in echoServAddr; struct sockaddr_in echoClntAddr; unsigned short echoServPort; char firsttime=TRUE; echoServPort =1024; // Create socket for incoming connections if((servSock = socket(PF_INET, SOCK_STREAM, 0)) < 0) { printf( "[TCPIPServer_Task] Socket() failed\n" ); exit(0); } // Construct Local address structure memset(&echoServAddr, 0, sizeof(echoServAddr)); echoServAddr.sin_family = AF_INET; echoServAddr.sin_addr.s_addr = htonl(INADDR_ANY); echoServAddr.sin_port = htons(echoServPort); // Bind to the local address if(bind(servSock, (struct sockaddr *) &echoServAddr, sizeof(echoServAddr)) < 0) { printf( "[TCPIPServer_Task] Bind() failed\n" ); } // Mark the socket so it will listen for incoming connections if(listen(servSock, MAXPENDING) < 0) { printf( "[TCPIPServer_Task] Listen() failed\n" ); } for(;;) { printf("[TCPIPServer_Task] Listening\n"); // Wait for a client to connect if((clntSock = accept(servSock, (struct sockaddr *) &echoClntAddr, sizeof(echoClntAddr)) < 0)) { printf( "[TCPIPServer_Task] Bind() failed\n" ); } else { // clntSock is connected to a client printf( "[TCPIPServer_Task] Connected with client %s\n", inet_ntoa(echoClntAddr.sin_addr)); TCPClient_reset_connection(&conn); conn.clntSocket=clntSock; conn.fd=fd; conn.remote_ip_address = echoClntAddr.sin_addr.s_addr; conn.remote_port = echoClntAddr.sin_port; conn.state = CLIENT_CONNECTED; TCPClientRx(); if (conn.state == CLIENT_CONNECTED) { conn.state = CLIENT_CLOSE; close(clntSock); printf("[TCPIPServer_Task] Socket closed.\n"); } } } }Link Copied
0 Replies
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page