Socket Communication

Seo·2020년 4월 21일
0

CS

목록 보기
4/5
post-thumbnail

Socket

소켓은 1982년 BSD(Berkly Software Distribution)에 의해 Unit 4.1에서 처음 소개 되었고, 현재 널리 사용 되는 것은 Unit 4.3에 개정된 것이다.

IPC(Inter-Process Communication) 중에서 소켓이 가장 많이 사용됨
크로스 플랫폼 통신의 경우 소켓이 유일한 게임의 법칙

정의

  • 소프트웨어로 작성된 추상적인 개념의 통신 통로
  • 네트워크 어플리케이션은 소켓을 통하여 통신
  • 양쪽에 생성되는 링크 단자로 두개의 소켓이 연결되면 데이터를 전달할 수 있음
  • 연결 방식(passive, active)에 따라 서버와 클라이언트로 나뉘어짐

서버

# server.py

import socket

server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_socket.bind(HOST_IP, PORT)

# 서버 socket open(listen) : maximum 5 connects in queue
server_socket.listen(5)

while True:
    (client_socket, addr) = server_socket.accpet()
    
    ct = client_thread(client_socket)
    ct.run()

def client_thread:
{...}
    

클라이언트

# client.py

import socket

client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

client_socket.connect((HOST_IP, PORT))

https://docs.python.org/ko/3/howto/sockets.html

profile
개발관심자

0개의 댓글