Java 채팅방에 비해 Python도 가능합니다. 그리고 더 우아하게 할 수 있습니다. 다양한 스트림의 Python 소켓이 훨씬 적다는 사실이 마음에 드실 겁니다.
지식 포인트 관련 내용은 여기서 자세히 다루지 않겠습니다.
UDP 방식
서버측
rreee클라이언트
아아앙아주 간단하지 않나요. 우리가 주목해야 할 것은 소켓의 두 번째 매개변수가 SOCK_DGRAM이라는 것입니다. 이는 TCP 모드의 SOCK_STREAM과 다르기 때문입니다.
TCP 모드
서버측
# coding:utf-8 # __author__ = 'Mark sinoberg' # __date__ = '2016/7/7' # __Desc__ = 创建一个简单的套接字监听请求 import socket HOST = '192.168.59.255' PORT = 9998 s = socket.socket(socket.AF_INET,socket.SOCK_DGRAM) s.bind(('',PORT)) print '套接字已启动!' while True: data,addr = s.recvfrom(1024) print addr,str(' : ')+data
클라이언트
# coding:utf-8 # __author__ = 'Mark sinoberg' # __date__ = '2016/7/7' # __Desc__ = socket的客户端的简单实现 import socket PORT = 9998 HOST = '192.168.59.255' s = socket.socket(socket.AF_INET,socket.SOCK_DGRAM) words = raw_input('Client:') while words != 'quit': s.sendto(words,(HOST,PORT)) words = raw_input('Client:') s.close()
TCP 모드 시연 결과: (먼저 차례를 참고하세요. 서버 측)
서버 측
D:SoftwarePython2python.exe E:/Code/Python/MyTestSet/sockettest/SimpleTCPServer.py
세넥트 클라이언트를 기다리고 있습니다!
Connected By ('192.168.59.225', 63095)
('192.168.59.225', 63095) Says: Thu Jul 07 16:01:10 2016 Hello World
( '192.168.59.225', 63095) 내용: Thu Jul 07 16:01:15 2016 haode
데이터가 수신되지 않았습니다!
클라이언트 cennect를 기다리는 중입니다!
클라이언트
D:SoftwarePython2python.exe E:/Code/Python/MyTestSet/sockettest/SimpleTcpClient.py
>>>Hello World
안녕하세요. 저에게 다음을 보내주세요: [Thu Jul 07 16:01:10 2016]Hello World
>>>
단어를 입력해주세요!
>>>
>>>haode
안녕하세요. 다음을 보내주세요:[Thu Jul 07 16:01:15 2016]haode
>>>quit
종료 코드 0으로 프로세스가 완료되었습니다
요약
TCP나 UDP를 간단하게 사용하는 것은 정말 쉽지만, 이 두 프로토콜을 더 잘 활용하려면 신중하게 설계해야 합니다.
여기서 강조하고 싶은 것은 tcp와 udp가 소켓을 생성할 때 지정하는 매개변수에만 주의하라는 것입니다.
위 내용은 이 글의 전체 내용입니다. 모든 분들의 학습에 도움이 되기를 바랍니다.
대화방 Python 코드 구현과 관련된 더 많은 글은 PHP 중국어 홈페이지를 주목해주세요!