본문 바로가기

socket

Linux / network - 리눅스기초를 활용한 데이터 통신 8(sharedmemory, semaphore) 안녕하세요 인포돈 입니다. 본 내용은 우분투를 기본으로 작성되었습니다. Cloud Computing을 활용하여 서버를 구축하였습니다. 3개의 클라이언트 공유 메모리를 활용한 데이터 변환 본 포스팅의 목적은 3개의 클라이언트에서 받은 값들을 rotation 즉, 초당 회전을 시켜서 계속해서 클라이언트에 보내주는 프로그램을 작성해 보려 합니다. 이해가 어려우신 분들을 위해서 이번에는 실행화면을 먼저 띄어 드리겠습니다. 보시는 실행화면과 같이 앞의 string은 한 칸씩 옆으로 이동하고 뒤의 int는 1씩 증가하는 프로그램입니다. 본 프로그램은 pipe를 사용하기보다는 shared memory를 활용해서 사용하는 방법에 대해서 다루어 보겠습니다. - Shared Memory란? 한 프로세스에 해당하는 메모리는.. 더보기
Linux / network - 리눅스기초를 활용한 데이터 통신 6(서버, 클라이언트, 소켓통신, 데이터 합치기) 안녕하세요 인포돈입니다. 본 내용은 우분투를 기본으로 작성되었습니다. Cloud Computing을 활용하여 서버를 구축하였습니다. 3개의 클라이언트 데이터 최소, 최대, 평균값 통합하기 이번 코딩은 3개의 클라이언트에서 각 숫자 데이터를 보내오면 서버 측에서는 최댓값, 최솟값, 평균값을 통합하여 각 클라이언트에 보내줍니다. 이때 최대, 최소의 경우 어디 ip와 port에서 보내오는지 출력이 되게 합니다. 서버 코드 struct info{ char sin_addr[MAXBUF]; int sin_port; int value; }; struct mmv{ char max_addr[MAXBUF], min_addr[MAXBUF]; int max_port, min_port; int max, min; float av.. 더보기
Linux / network - 리눅스기초를 활용한 데이터 통신 5(서버, 클라이언트, 소켓통신, 데이터 합치기) 안녕하세요 인포돈입니다. 이번 포스팅부터 본격적인 리눅스 소켓 통신 코딩을 적어보겠습니다. 본 포스터에서는 기본적으로 널리 알려져 있는 기본 코드를 활용하여 클라이언트의 데이터를 서버에서 통합하여 각 클라이언트로 다시 보내주는 코드를 작성해보겠습니다. 본 내용은 우분투를 기본으로 작성되었습니다. Cloud Computing을 활용하여 서버를 구축하였습니다. 이번 코딩의 목적은 클라이언트 3개와 서버 1개로 구성하려 합니다. 여기서 각 클라이언트에서 어떠한 문장을 넘겨주면 서버 측에서는 3개의 문장을 공백으로 구분하여 3개의 클라이언트에 다시 뿌려주는 역할을 담당하게 됩니다. 클라이언트 측 코드는 사실 크게 손본 게 없으므로 마지막에 간단한 코드 리뷰만 남겨놓도록 하겠습니다. 서버 코드 및 설명 #incl.. 더보기