본문 바로가기

Computer Science/UNIX & Linux31

[UNIX/Linux] ep11-4) UDP 소켓 프로그래밍 https://claremont.tistory.com/entry/%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9C-IPCInter-Process-Communication [운영체제] IPC(Inter-Process Communication)https://claremont.tistory.com/entry/ep2-%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4process [운영체제] ep2) 프로세스(process)ㅁ프로세스(process): 실행 중인 프로그램 (실행/스케줄링의 단위 및 자료구조)보조기억장치에 저장claremont.tistory.comhttps://claremont.tistory.com/entry/UNIXLinux-ep11-1-%EC%86%8C%EC%BC.. 2024. 12. 11.
[UNIX/Linux] ep11-3+) TCP 소켓 프로그래밍 실습 ex1. 서버에 접속한 클라이언트에 관한 정보를 돌려주는 서비스 프로그램을 작성하라. 되돌려줄 정보는 호스트명, IP주소, 포트 번호이다.struct infor_type {    char host[256];    char addr[20];    int port;} struct infor_type msg; ** clientrecv(sd, (char*)&msg, sizeof(msg), 0); ** serverstruct hostent* hp; hp = gethostbyaddr((char*)&cli.sin_addr.s_addr, 4, AF_INET);sprintf(msg.host, “%s”, hp->h_name);sprintf(msg.addr, “%s”, inet_ntoa(cli.sin_addr);msg.po.. 2024. 12. 10.
[UNIX/Linux] ep11-3) TCP 소켓 프로그래밍 https://claremont.tistory.com/entry/%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9C-IPCInter-Process-Communication [운영체제] IPC(Inter-Process Communication)https://claremont.tistory.com/entry/ep2-%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4process [운영체제] ep2) 프로세스(process)ㅁ프로세스(process): 실행 중인 프로그램 (실행/스케줄링의 단위 및 자료구조)보조기억장치에 저장claremont.tistory.comhttps://claremont.tistory.com/entry/UNIXLinux-ep11-1-%EC%86%8C%EC%BC.. 2024. 12. 8.
[UNIX/Linux] ep11-2+) 소켓 프로그래밍 함수 실습 ex1. 같은 시스템에서 클라이언트가 명령행 인자로 파일 이름을 받은 후 이를 서버로 보낸다. 서버는 파일 이름을 받아 파일 내용을 화면에 출력하는 프로그램을 작성하라 (ex1_client.c)#include #include #include #include #include #include #include #define SOCK_PATH "hbsocket"int main(int argc, char* argv[]) { int s, t, len, i; struct sockaddr_un remote; if ((s = socket(AF_UNIX, SOCK_STREAM, 0)) == -1) { perror("socket"); exit(1); } printf("Tr.. 2024. 12. 5.
[UNIX/Linux] ep11-2) 소켓 프로그래밍 함수 https://claremont.tistory.com/entry/%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9C-IPCInter-Process-Communication [운영체제] IPC(Inter-Process Communication)https://claremont.tistory.com/entry/ep2-%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4process [운영체제] ep2) 프로세스(process)ㅁ프로세스(process): 실행 중인 프로그램 (실행/스케줄링의 단위 및 자료구조)보조기억장치에 저장claremont.tistory.comhttps://claremont.tistory.com/entry/UNIXLinux-ep11-1-%EC%86%8C%EC%BC.. 2024. 12. 4.
[UNIX/Linux] ep11-1+) 소켓 프로그래밍 기초 함수 실습 ex1. 잘 알려진 포트 번호를 입력받아 이에 해당하는 서비스 명을 출력하는 프로그램을 작성하라#include #include int main() { struct servent* port; int pt; printf("Input port number: "); scanf("%d", &pt); port = getservbyport(htons(pt), NULL); if (port != NULL) { printf("name=%s, port=%d\n", port->s_name, ntohs(port->s_port)); } else { printf("No service for %d\n", pt); } return 0;}   ex2. /etc/h.. 2024. 12. 3.
[UNIX/Linux] ep11-1) 소켓 프로그래밍 기초 https://claremont.tistory.com/entry/%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9C-IPCInter-Process-Communication [운영체제] IPC(Inter-Process Communication)https://claremont.tistory.com/entry/ep2-%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4process [운영체제] ep2) 프로세스(process)ㅁ프로세스(process): 실행 중인 프로그램 (실행/스케줄링의 단위 및 자료구조)보조기억장치에 저장claremont.tistory.com [ep11-1, ep11-2의 학습목표]1. TCP/IP 프로토콜의 기본 개념을 이해한다2. IP 주소와 포트 번호의 개.. 2024. 11. 26.
[UNIX/Linux] ep10-2) 세마포 https://claremont.tistory.com/entry/%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9C-IPCInter-Process-Communication [운영체제] IPC(Inter-Process Communication)https://claremont.tistory.com/entry/ep2-%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4process [운영체제] ep2) 프로세스(process)ㅁ프로세스(process): 실행 중인 프로그램 (실행/스케줄링의 단위 및 자료구조)보조기억장치에 저장claremont.tistory.comhttps://claremont.tistory.com/entry/UNIXLinux-ep10-1-%EB%A9%94%EC%8B.. 2024. 11. 13.
[UNIX/Linux] ep10-1+) 메시지 큐 함수 실습 hw. 자식이 표준 입력한 내용을 mtype=1로 부모에게 전달한다. 더 이상의 내용이 없을 때 자식은 “bye”와 mtype=2를 전달한다. 부모는 mtype=1이면 받은 내용을 표준 출력하고, mtype=2이면 종료하는 프로그램을 작성하라. (메시지 큐가 가장 적합)#include #include #include #include #include #include #define MSGSIZE 128 // 메시지의 최대 크기 정의// 메시지 버퍼 구조체 정의struct msgbuf { long mtype; // 메시지 유형 char mtext[MSGSIZE]; // 메시지 내용};// 부모 프로세스 함수: 자식 프로세스가 보낸 메시지를 수신void parentProcess.. 2024. 11. 7.