프로그래밍/네트워크 프로그래밍
-
TCPServer프로그래밍/네트워크 프로그래밍 2014. 6. 12. 03:24
#include #include void main() { WSADATA wsaData; SOCKET socketListen, socketClient; struct sockaddr_in serverAddr; // 네트워크를 초기화 한다. ::WSAStartup( 0x202, &wsaData ); socketClient = INVALID_SOCKET; socketListen = ::socket( AF_INET, SOCK_STREAM, IPPROTO_TCP ); if( socketListen == INVALID_SOCKET ) { printf( "Socket create error !!\n" ); return; } ::memset( &serverAddr, 0, sizeof( serverAddr ) ); ser..
-
사용할 주소 및 포트 지정프로그래밍/네트워크 프로그래밍 2014. 5. 22. 03:56
소켓을 사용하기 위해서는 생성한 소켓에 인터넷상의 주소와 포트 번호를 지정해 주어야 한다. 클라이언트에서 생성한 소켓은 연결할 목적지를 알아야 할 것이고, 서버에서 생성한 소켓은 로컬 영역에서 어떤주소와 포트번호에 소켓을 연결할 지 알아야 하기 때문이다.이 작업을 위해 소켓 API는 이러한 정보를 담을 수 있는 구조체를 다음과 같이 정의하였다. struct sockaddr{u_short sa_family;char sa_data[14];}; sockaddr 구조체의 첫 번째 값은 주소 패밀리의 종류를 의미한다. 우리가 생성하는 소켓은 인터넷 주소 패밀리를 의미하는 AF_INET상수를 사용하므로 여기에서도 AF_INET으로 지정한다. 두 번째 sa_data는 소켓에 사용할 주소및 포트 번호 등의 값을 지정한..
-
소켓의 생성과 파괴프로그래밍/네트워크 프로그래밍 2014. 5. 22. 03:46
//소켓의 생성과 파괴 우리의 프로그램이 소켓을 사용할 수 있도록 하기 위해서는 운영 체제에 소켓을 할당 받아야한다. 이 기능을 수행하는 함수는 socket이며, 이함수를 통해 새로운 소켓 인스턴스 (instance)를 생성한다. SOCKET socket(int af, int type, int protocol); 이 함수는 소켓 생성이 성공적으로 이루어질 경우 생성된 소켓 핸들을 반환한다. 하지만, 생성에 실패하였다면 INVALID_SOCKET를 반환 할 것이다. 이 상황이 발생할 경우에는 WSAGetLastError 함수를 사용하여 자세한 원인을 파악할 수 있다. 이렇게 생성된 소켓은 작업이 끝나거나 혹은 응용 프로그램이 종료하기 전에 운영 체제에 반환해야 한다. 이과정을 '소켓을 파괴한다.'라고 표현..
-
TcpCAsyncClient프로그래밍/네트워크 프로그래밍 2013. 12. 29. 20:16
class CMyAsysncSocket : public CAsyncSocket { public: public: CMyAsyncSocket(); virtual ~CMyAsyncSocket(); charm_SendBuf[4096];//보낼데이터 버퍼 char*m_pSendCurBuf; //보내야할 버퍼 현재 위치 intm_nSendLeft;//보내기 위해 남은 길이 BOOLAsyncSend(char* pBuf, int nLen); void DoSenBuf(); public: public: virtual void OnConnect(int nErrorCode); virtual void OnRecevie(int nErrorCode); virtual void OnSend(int nErrorCode); virtual..
-
like_server.c프로그래밍/네트워크 프로그래밍 2013. 12. 29. 19:06
#include #include #include #include #include #include #include #define MAXBUF 256 int main() { int ssock, csock; // 소켓 디스크립트 정의 int clen; struct sockaddr_in client_addr, server_addr; // 주소 구조체 정의 char buf[MAXBUF] = "I like you!"; // 클라이언트에 보내줄 문자열 // 서버 소켓 생성 if ((ssock = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP)) < 0) { perror("socket error : "); exit(1); } clen = sizeof(client_addr); // 주소 구조체..
-
like_Client.c프로그래밍/네트워크 프로그래밍 2013. 12. 29. 18:57
#include #include #include #include #include #include #include #define MAXBUF 256 int main() { int ssock; int clen; struct sockaddr_in server_addr; char buf[MAXBUF]; // 소켓을 생성 if ((ssock = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP)) < 0) { perror("socket error : "); exit(1); } clen = sizeof(server_addr); // 소켓이 접속할 주소 지정 memset(&server_addr,0, sizeof(server_addr)); server_addr.sin_family = AF_INE..
-