본문 바로가기

Project

Socket 통신

 

목표 : 라즈베리파이와 안드로이드 앱이 통신하기

 

https://docs.python.org/ko/3/library/socket.html#example

 

socket — Low-level networking interface

Source code: Lib/socket.py This module provides access to the BSD socket interface. It is available on all modern Unix systems, Windows, MacOS, and probably additional platforms. Availability: not ...

docs.python.org

다음은 TCP/IP 프로토콜을 사용하는 4가지 최소 예제 프로그램입니다: (하나의 클라이언트만 서비스하는) 수신한 모든 데이터를 반향하는 서버와, 이를 사용하는 클라이언트. 서버는 
socket(), bind(), listen(), accept()
 (두 개 이상의 클라이언트에 서비스를 제공하기 위해 accept()를 반복할 수 있습니다) 절차를 수행해야 하지만, 클라이언트는 
socket(), 
connect()절차만 요구함에 유의하십시오. 또한, 서버는 수신 대기 중인 소켓이 아니라 
accept()가 반환한 새 소켓에 대해서 
sendall()/recv()를 한다는 것에도 유의하십시오.
#이 예시 코드로 해결!
import socket

HOST = '192.***.***.***'
PORT = 8000

with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
	s.bind((HOST,PORT))
	s.listen(1)
	conn,addr = s.accept()
	with conn:
		print(f'Connected by {addr}')
		while True:
			data = conn.recv(1024)
			if not data: break
			conn.sendall(data)

'Project' 카테고리의 다른 글

라즈베리파이-앱 연결  (0) 2023.05.16
라즈베리파이 세팅하기  (1) 2022.11.25