Python Socket 간단 한 TCP 서버/클 라 이언 트 기능 예제 구현
인터넷 상에 서 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.gethostname
과socket.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 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Python의 None과 NULL의 차이점 상세 정보그래서 대상 = 속성 + 방법 (사실 방법도 하나의 속성, 데이터 속성과 구별되는 호출 가능한 속성 같은 속성과 방법을 가진 대상을 클래스, 즉 Classl로 분류할 수 있다.클래스는 하나의 청사진과 같아서 하나의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.