Code: Show/Hide WSADATA wsaData; SOCKET sListen=INVALID_SOCKET; SOCKET sClient=INVALID_SOCKET; SOCKADDR_IN LocalAddr; SOCKADDR_IN RemoteAddr; ... WSAStartup(MAKEWORD(1, 1), &wsaData); sListen=socket(AF_INET, SOCK_STREAM, 0); LocalAddr.sin_family=PF_INET; LocalAddr.sin_port=htons(5664); bind(sListen, (PSOCKADDR)&LocalAddr, AddrLen); listen(sListen, 10); WSAAsyncSelect(sListen, hwnd, WM_NET, FD_ACCEPT | FD_CLOSE | FD_READ | FD_WRITE); ... sClient=accept(sListen, (PSOCKADDR)&RemoteAddr, &AddrLen); ... recv(sClient, buf, MaxBufLen, 0); ... strcpy(buf, "bleh"); send(sClient, buf, strlen(buf)+1, 0); ... shutdown(sClient, SD_BOTH); closesocket(sClient); sClient=INVALID_SOCKET; |
Code: Show/Hide RemoteAddr.sin_family=PF_INET; RemoteAddr.sin_addr.s_addr=inet_addr("127.0.0.1"); RemoteAddr.sin_port=htons(5664); ret=connect(sClient, (PSOCKADDR)&RemoteAddr, AddrLen); |
Code: Show/Hide ret=shutdown(sClient, SD_BOTH); or ret=shutdown(sClient, SD_BOTH); ret=closesocket(sClient); sClient=INVALID_SOCKET; <--might be called |
Code: Show/Hide ret=WSAStartup(MAKEWORD(1, 1), &wsaData); sListen=socket(AF_INET, SOCK_STREAM, 0); LocalAddr.sin_family=PF_INET; LocalAddr.sin_port=htons(5664); ret=bind(sListen, (PSOCKADDR)&LocalAddr, AddrLen); (sListen, 10); ret=WSAAsyncSelect(sListen, hwnd, WM_NET, FD_ACCEPT | FD_CLOSE | FD_READ | FD_WRITE); |
Code: Show/Hide ret=shutdown(sClient, SD_BOTH); or ret=shutdown(sClient, SD_BOTH); ret=closesocket(sClient); sClient=INVALID_SOCKET; <--might be called |