목록CS/TCP IP (2)
bdfgdfg
블록킹, 논 블록킹, 동기, 비동기(Blocking, Non-Blocking, Synchronous I/O, Asynchronous I/O) 1 2 3 4 // 기본적인 TCP소켓을 만드는 방법 SOCKET socket = ::socket(AF_INET, SOCK_STREAM, 0); // 이렇게 만들어진 소켓은 기본적으로 BLOCKING모드. // WSASocket함수로도 소켓 핸들을 얻을 수 있는데, 기본적으로 기능은 똑같다. cs 기본적으로 소켓을 생성할 때 만들어지는 소켓 핸들은 블록킹(Blocking)모드이다. 블로킹은 디바이스에 처리 요청을 걸어 놓고 응답을 대기하는 함수를 호출할 때 스레드에서 발생하는 대기 현상. - 즉 간단하게 동기 I/O 함수를 호출할 때 해당 스레드에서 발생하는 대기 ..
패딩 비트 struct Test { public: int a; char b; }; int main() { Test t1; std::cout (BYTE& data); Packet& operator >> (char* data); Packet& operator >> (DWORD& data); Packet& operator >> (std::string& data); public: Packet(); ~Packet(); }; 중요한것은 m_writePos와 m_readPos. m_writePos는 Packet에 데이터를 실어 보내기 위해서 Packet의 dataField에 데이터를 쓰기위한 위치 주소를 기억한다. m_readPos는 Packet에 실린 데이터를 가져오기위해 Packet의 dataField의 다음에 ..