고냥*^^*
2008. 5. 11. 23:51
#include "main.h"
int main() { SOCKET servSock, clntSock; WSADATA wsaData; SOCKADDR_IN servAddr, clntAddr; int addrSize = 0; int len = 0; unsigned long flags; char recvBuf[100]; char sendBuf;
if(WSAStartup(MAKEWORD(2, 2), &wsaData) != 0) { puts("WSAStartup Err!!"); return -1; }
servSock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); if(servSock == INVALID_SOCKET) { puts("Socket Err!!"); WSACleanup(); return -1; }
memset(&servAddr, 0, sizeof(SOCKADDR_IN)); servAddr.sin_family = AF_INET; servAddr.sin_addr.s_addr = htonl(INADDR_ANY); servAddr.sin_port = htons(PORT);
if(bind(servSock, (SOCKADDR*)&servAddr, sizeof(SOCKADDR_IN)) < 0) { puts("Bind Error!!"); closesocket(servSock); WSACleanup(); return -1; }
if(listen(servSock, 5) < 0) { puts("Listen Error!!"); closesocket(servSock); WSACleanup(); return -1; }
addrSize = sizeof(clntAddr); puts("Server Start waiting client!!"); while(1) { clntSock = accept(servSock, (SOCKADDR*)&clntAddr, &addrSize); memset(recvBuf, 0, sizeof(recvBuf)); if(clntSock != INVALID_SOCKET) { puts("Accept one user!!"); len = recv(clntSock, recvBuf, 17, 0); if(len > 0) { //처리... } else closesocket(clntSock); } else closesocket(clntSock); }
closesocket(servSock); WSACleanup();
return 0; } |