Python은 간단한 socket 서버와 클라이언트를 작성합니다
#!/usr/bin/python
import socket
host='127.0.0.1'
port=8123
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.bind((host,port))
s.listen(2)
try:
while True:
conn,add=s.accept()
while True:
data2=''
data1=conn.recv(3)
if data1=='EOF':
conn.send('hello clietn1')
break
if data1=='FOE':
conn.send('hello client2')
break
data2+=data1
print data2
except KeyboardInterrupt:
print "you have CTRL+C,Now quit"
s.close()
주: 서버 쪽에서 한 번에 3바이트의 데이터만 받습니다. 저는 읽기를 순환에 들어가게 하고 데이터 2에 계속 추가합니다. EOF를 읽을 때 데이터 2를 출력하고, FOE를 읽을 때 데이터 2를 출력합니다. (EOF와 FOE는 클라이언트가 데이터를 보냈을 때 보내는 종료부호), CTRLC+C를 받을 때 socket을 닫습니다.
클라이언트 1:
#!/usr/bin/env python
import socket
import os
ss=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
ss.connect(('127.0.0.1',8123))
#f=open('aa','wb')
ss.sendall('hello serverdddddddd')
os.system('sleep 1')
ss.send('EOF')
data=ss.recv(1024)
print "server dafu %s"%data
ss.close()
클라이언트 2:
#!/usr/bin/env python
import socket
import os
ss=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
ss.connect(('127.0.0.1',8123))
#f=open('aa','wb')
ss.sendall('wokao sile')
os.system('sleep 1')
ss.send('FOE')
data=ss.recv(1024)
print "server dafu %s"%data
ss.close()
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.