Programming86 Socket 3 WSAIoctl 소켓의 모드를 제어하는 함수 int WSAAPI WSAIoctl( INSOCKET s, INDWORD dwIoControlCode, INLPVOID lpvInBuffer, INDWORD cbInBuffer, OUTLPVOID lpvOutBuffer, INDWORD cbOutBuffer, OUTLPDWORD lpcbBytesReturned, INLPWSAOVERLAPPED lpOverlapped, INLPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine ); s : 소켓 dwIoControlCode : 함수가 수행하는 연산의 제어코드 lpvInBuffer : 입력 버퍼에 대한 포인터 cbInBuffer : 입력버퍼의 크기(lpvInBuffer의 .. 2021. 2. 25. Socket 2 WSARecv 연결된 소켓으로부터 데이터를 받을때 사용 int WSAAPI WSARecv( SOCKET s, LPWSABUF lpBuffers, DWORD dwBufferCount, LPDWORD lpNumberOfBytesRecvd, LPDWORD lpFlags, LPWSAOVERLAPPED lpOverlapped, LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine ); s : 연결된 소켓 lpBuffers : WSABUF 구조체의 포인터, 각 WSABUF구조체는 buffer 포인터와 길이등을 가지고 있다 dwBufferCount : lpBuffers에 사용된 WSABUF의 개수 lpNumberOfBytesRecvd : receive 과정이 끝나고 받은 .. 2021. 2. 15. Socket 1 WSAStartup Winsock DLL을 사용하기 위해 초기화 int WSAAPI WSAStartup( WORD wVersionRequested, LPWSADATA lpWSAData ); mVersionRequested : Windows Sockets의 버전을 지정할때 사용 lpWSAData : WSADATA 구조체의 포인터로, Windows Sockets의 구현 정보를 받아온다 MAKEWORD(lowbyte, highbyte) : Windef.h의 매크로중 하나 WSAStartup의 결과가 0이 아니면 Winsock DLL을 사용할 수 없는 등 에러가 발생한 것 WSADATA구조체는 Windows Socket의 구현정보를 담을때 사용 WSASocketW 소켓을 만들고 특정 transport-servi.. 2021. 2. 9. Redis 외부접속 설정하기 1. 우선 netstat으로 어떤 포트를 사용중인지 확인한다 2. redis.conf 파일 bind와 password 설정을 해준다 (라즈비안에서는 /etc/redis/redis.conf) NETWORK 부분에서 127.0.0.1을 0.0.0.0으로 bind 해주고 SECURITY 부분에서 원하는 비밀번호를 설정한다. 3. redis-server를 재시작한다. sudo systemctl restart redis-server 4. redis를 접속하기 위해 redis-cli -h x.x.x.x(레디스 서버 ip) -p 6379(레디스 서버 포트) -a password 2021. 1. 11. Redis 기본정리 5 Bitmap Bitmap은 데이터 타입이 아니지만 비트 기반 문자열의 set이다. 비트 연산은 상수 시간의 single bit 연산과 값이나 비트 그룹을 위한 연산으로 나뉜다. 비트맵의 가장 큰 장점은 데이터를 저장하는 공간을 줄일 수 있는 것이다. SETBIT/GETBIT 명령어로 각각 set,get 할 수 있다. SETBIT의 첫번째 인자는 비트 넘버, 두번째 인자는 비트(0 or 1)이다. GETBIT는 특정 인덱스의 비트값을 반환한다. 비트 범위 밖의 키는 언제나 0을 반환한다. BITOP - 비트수준의 연산자, AND/OR/XOR/NOT을 사용할 수 있다. BITCOUNT - 값이 1인 비트의 갯수 BITPOS - 0 혹은 1의 특정 비트값중 가장 처음 나오는 비트를 반환한다. 주로 실시간 분석.. 2021. 1. 8. Redis 기본정리 4 Redis Sorted sets Sorted set은 Set, Hash와 비슷하다. 셋처럼 unique 하고, non-repeating string 원소들이다. set에서는 정렬되어 있지 않지만 sorted set에서는 모든 원소는 부동소수점 값에 연관되어 정렬되어 있다(모든 원소들이 어떤 값으로 매핑되어 있기 때문에 Hash와도 비슷하다). 원소들은 순서를 가지고 있고 그 순서를 정하는 규칙은 1. A와 B가 서로 다른 score를 가지고 있을때 A.score > B.score이면 A > B이다. 2. A와 B가 같은 score를 갖고 있을 때 사전 순서에 따라 먼저나오는것 > 나중에 나오는 것 순서로 정해진다. sorted set에서 각 원소들은 unique 하기 때문에 A와 B는 같을 수 없다. Z.. 2021. 1. 8. 이전 1 2 3 4 5 6 ··· 15 다음