Python 상주 작업 외부 매개 변수 코드 분석 실현
제 가 제일 먼저 생각 한 건 네트워크 프로 그래 밍 의 server/client 모드 입 니 다.
server 는 상주 프로 세 스 로 서 client 에서 보 내 온 각종 매개 변 수 를 받 아들 여 처리 할 수 있 습 니 다.
서버:server.py
import sockets = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind(('127.0.0.1', 10001))
s.listen(5)
def do_some():
pass
def do_other():
pass
def tcplink(sock, addr):
print('Accept new connection from %s:%s...' % addr)
sock.send(b'Welcome!')
while True:
data = sock.recv(1024)
time.sleep(1)
if not data or data.decode('utf-8') == 'exit':
break
data_str = data.decode('utf-8')
data_list = data_str.split(',')
if len(data_list) == 3:
do_some()
else:
do_other()
sock.send(('processing, %s!' % s3).encode('utf-8'))
sock.close()
if __name__ == '__main__':
while True:
# :
data, addr = s.accept()
# TCP :
t = threading.Thread(target=tcplink, args=(data, addr))
t.start()
서버 가 완료 되 었 습 니 다.다음은 클 라 이언 트 client.py 를 실현 합 니 다.클 라 이언 트 는 매개 변 수 를 입력 하거나 파일 에서 파 라 메 터 를 읽 어 클 라 이언 트 에 게 요청 을 보 내 는 것 을 지원 합 니 다.
import socket
import sys
if __name__ == '__main__':
param = sys.argv[1]
c_list = []
if param.endswith('txt'):
with open(param, 'r') as file:
for line in file.readlines():
c_list.append(line.strip().encode('utf8'))
else:
c = param.encode('utf8')
c_list.append(c)
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(('127.0.0.1', 10001))
print(s.recv(1024).decode('utf-8'))
for data in c_list:
s.send(data)
print(s.recv(1024).decode('utf-8'))
s.send(b'exit')
s.close()
이렇게 두 개의 스 크 립 트 를 통 해 하 나 는 상주 프로 세 스 를 실현 하고 하 나 는 들 어 오 는 매개 변 수 를 실현 하면 외부 요청 을 계속 받 아들 일 수 있 습 니 다.이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로마 숫자를 정수로 또는 그 반대로 변환그 중 하나는 로마 숫자를 정수로 변환하는 함수를 만드는 것이었고 두 번째는 그 반대를 수행하는 함수를 만드는 것이었습니다. 문자만 포함합니다'I', 'V', 'X', 'L', 'C', 'D', 'M' ; 문자열이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.