Python Socket 간단 한 TCP 서버/클 라 이언 트 기능 예제 구현

2914 단어 PythonSocketTCP
이 사례 는 Python Socket 이 간단 한 TCP Server/client 기능 을 실현 하 는 것 을 다 루 었 다.여러분 께 참고 하도록 공유 하 겠 습 니 다.구체 적 으로 는 다음 과 같 습 니 다.
인터넷 상에 서 socket 에 관 한 소개 글 은 셀 수 없 이 많다.스스로 학습 의 소소 함 을 기록 하 다.앞으로 복습 학습 에 사용 할 수 있 도록 제공 하 다.
socket 중국어 번역 은 소켓 으로 단어 가 뜻 을 이 루 지 못 하 는 것 같 습 니 다.간단 한 이 해 는 ip+port 가 형성 하 는 관리 단원 이다.프로그램 에서 프로그램 이 호출 하 는 인터페이스 이기 도 합 니 다.
tcp 를 시작 하 는 server 를 소개 합 니 다.
tcp 연결 중 server 부분 에서 ip 와 port 포트 를 시작 합 니 다.이 port 포트 에서 감청 합 니 다.client 에서 보 내 온 요청 을 받 으 면 새로운 포트 포트 포트 2 로 client 와 연결 합 니 다.
socket 이 감청 을 시작 하 는 과정 은:
소켓 만 들 기
bind 포트
감청 시작
연결 만 들 기+계속 듣 기
코드:

'''
This is a testing program
the program is used to start server
'''
import socket
import sys
def start_tcp_server(ip, port):
  #create socket
  sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  server_address = (ip, port)
  #bind port
  print 'starting listen on ip %s, port %s'%server_address
  sock.bind(server_address)
  #starting listening, allow only one connection
  try:
    sock.listen(1)
  except socket.error, e:
    print "fail to listen on port %s"%e
    sys.exit(1)
  while True:
    print "waiting for connection"
    client,addr = sock.accept()
    print 'having a connection'
    client.close()
if __name__ == '__main__':
  start_tcp_server('10.20.0.20', 12345)

여기 서 자주 사용 하 는 기술 이 있 습 니 다.starttcp_server 에서 우리 가 가장 자주 사용 하 는 것 은 이 컴퓨터 의 ip 입 니 다.프로그램의 유 니 버 설 성 을 위해 서 는 함수 호출 방식 으로 ip 주 소 를 가 져 오 는 것 이 좋 습 니 다.
두 함수 사용socket.gethostnamesocket.gethostbyname('name')

ip = socket.gethostbyname(socket.gethostname())

문 제 는 일반적인 상황 에서 얻 은 ip 주 소 는 127.0.0.1 이다.
설정 이나 dhcp 를 사용 하여 가 져 온 ip 에 대해 서 는 본 사이트 의 관련 글 을 참고 할 수 있 습 니 다.
소켓 클 라 이언 트 연결 시작
흐름:
인터페이스 만 들 기
연결 시작
인터페이스 매개 변 수 를 만 드 는 것 은 socket server 와 같 습 니 다.
연결 을 시작 하 는 함 수 는 socket.connect(ip,port)입 니 다.
이 곳 의 ip 와 port 는 socket server 엔 드 의 ip 과 감청 port 입 니 다.
코드 예제:

# -*- coding: utf-8 -*-
'''
This is a testing program
the program is used to test socket client
'''
import socket
import sys
def start_tcp_client(ip, port):
  #server port and ip
  server_ip = ip
  servr_port = port
  tcp_client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  try:
    tcp_client.connect((server_ip, server_port))
  except socket.error:
    print 'fail to setup socket connection'
  tcp_client.close()

더 많은 파 이 썬 관련 내용 은 본 사이트 의 주 제 를 볼 수 있 습 니 다.
본 논문 에서 말 한 것 이 여러분 의 Python 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기