반응형
socket programming2023. 11. 18. 21:54pthread 사용한 C언어 TCP Socket 서버/클라이언트 예제

pthread를 사용한 C언어 TCP 소켓 서버/클라이언트 예제입니다. 2021. 7. 4 최초작성 2023. 11. 18 코드 설명 추가 원본 코드 출처는 아래 깃허브 저장소입니다. https://github.com/shineyr/Socket 다음처럼 코드를 컴파일합니다. $ gcc -o server server.c -lpthread $ gcc -o client client.c -lpthread 터미널을 두개 사용하여 다음처럼 코드를 실행합니다. 1. 서버 프로그램 실행 ./server 2. 클라이언트 프로그램 실행 - 같은 피시가 아니면 127.0.0.1 대신에 서버 프로그램이 실행된 PC의 IP를 사용합니다. ./client 127.0.0.1 클라이언트 프로그램에서 입력한 문자열이 서버 프로그램으로..

Raspberry Pi Pico W - TCP Server C 예제
Raspberry Pi Pico&Pico W2023. 10. 19. 21:48Raspberry Pi Pico W - TCP Server C 예제

Raspberry Pi Pico W에서 TCP Server C 예제를 사용하는 방법을 다루고 있습니다. 2022. 12. 25 최초작성 진행하기 전에 다음 포스트를 먼저 진행해야 합니다. Windows에 Raspberry Pi Pico C 개발 환경 만들기 https://webnautes.tistory.com/2092 아래 링크에 있는 tcp_server 예제 프로젝트를 구성하는 방법부터 다룹니다. 코드를 수정하여 사용했습니다. 수정한 코드는 포스트에 있습니다. https://github.com/raspberrypi/pico-examples/tree/master/pico_w/tcp_server 1. 윈도우 키를 누른 후, “ Developer Command”을 입력하여 Developer Command P..

Python/Python 예제 코드2023. 10. 19. 20:32파이썬 웹캠 영상 전송 TCP 서버/클라이언트 예제

파이썬의 TCP 소켓을 사용하여 웹캠에서 캡쳐한 이미지를 전송하는 서버와 클라이언트를 간단히 만들었습니다. 웹캠으로부터 이미지 캡쳐는 OpenCV를 사용하였습니다. 서버에는 두 종류의 쓰레드를 생성합니다. 웹캠으로부터 캡처한 이미지를 큐에 삽입하는 쓰레드와 클라이언트가 접속하면 큐에서 이미지를 꺼내어 클라이언트에 전송하는 쓰레드입니다. 서버에서 이미지를 전송하기 전에 넘파이 배열을 압축한 후, 최종적으로 String으로 변환해야 하고 클라이언트에서는 수신된 String 데이터를 넘파이 배열로 변환하여 화면에 보여줍니다. 서버 프로그램을 실행 후, 웹캠 영상이 화면에 보여지면 클라이언트 프로그램을 실행하세요. 여러 개 실행가능한데 몇 개 까지 가능한지 확인 안해봤습니다. 파이썬에서 소켓 사용하는 방법에 대..

파이썬 클라이언트 / 서버  소켓 예제
Python/Python - 소켓2023. 10. 19. 20:31파이썬 클라이언트 / 서버 소켓 예제

파이썬으로 작성한 TCP 서버/클라이언트 소켓 예제코드입니다. 클라이언트가 서버에 접속하여 통신이 시작되는 방식입니다. 1. TCP 소켓 2. 간단한 에코 서버, 클라이언트 예제 3. 쓰레드를 사용한 에코 서버와 클라이언트 예제 최초작성 2019. 9. 27 최종작성 2023. 7. 23 1. TCP 소켓 파이썬에서 TCP(Transmission Control Protocol)를 사용하려면 소켓 타입을 socket.SOCK_STREAM으로 지정하고 socket.socket 함수를 사용하여 소켓 객체를 생성하면 됩니다. TCP의 장점은 다음과 같습니다. 1. 수신자가 전달 받지 못한 패킷을 발신자가 감지하여 재전송하기 때문에 신뢰성이 높습니다. 2. 발신자가 전송한 순서대로 수신자에서 읽게 됩니다. UDP..

프로그래밍 노트/C&C++2015. 11. 14. 09:53linux echo server ( pthread 사용 )

#include #include #include #include #include #include #include #include #include #include #include #include #include struct thread_data{ int fd; char ip[20]; }; void *ThreadMain(void *argument); // get sockaddr, IPv4 or IPv6: void *get_in_addr(struct sockaddr *sa) { if (sa->sa_family == AF_INET) { return &(((struct sockaddr_in*)sa)->sin_addr); } return &(((struct sockaddr_in6*)sa)->sin6_addr); }..

반응형
image