이 문서의 내용은 Python이 클라이언트와 서버 간의 데이터 전송을 구현하는 방법에 대한 것입니다. 이는 특정 참고 가치가 있으므로 도움이 필요한 친구에게 도움이 되길 바랍니다.
def sock_client_data(): while True: try: s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect(('192.168.20.1', 6666)) #服务器和客户端在不同的系统或不同的主机下时使用的ip和端口,首先要查看服务器所在的系统网卡的ip # s.connect(('127.0.0.1', 6666)) #服务器和客户端都在一个系统下时使用的ip和端口 except socket.error as msg: print(msg) print(sys.exit(1)) data = input("input data:") #输入要传输的数据 s.send(data.encode()) #将要传输的数据编码发送,如果是字符数据就必须要编码发送 s.close() if __name__ == '__main__': sock_client_data()
def socket_service_data(): try: s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) s.bind(('127.0.0.1', 6666)) # 在同一台主机的ip下使用测试ip进行通信 # s.bind(('192.168.20.1', 6666)) #在不同主机或者同一主机的不同系统下使用实际ip s.listen(10) except socket.error as msg: print(msg) sys.exit(1) print("Wait for Connection..................") while True: sock, addr = s.accept() buf = sock.recv(1024) #接收数据 buf = buf.decode() #解码 print("The data from " + str(addr[0]) + " is " + str(buf)) print("Successfully") # return buf # sock.close() if __name__ == '__main__': socket_service_data()
실행 결과:
클라이언트:
서버:
In 지침:
1. 서버와 클라이언트는 동일합니다. 127.0을 사용하세요. 0.1 물리적 호스트와 동일한 시스템에서 포트가 점유되어 있지 않은 한 Linux 시스템에서 포트가 점유되어 있는지 확인하십시오. 발견되면 포트가 점유되지 않았음을 증명합니다. 두 개의 .py 파일을 생성합니다. 하나는 클라이언트 프로그램을 저장하고, 다른 하나는 서버 프로그램을 저장합니다. 전송할 데이터를 입력하고, 서버 단말기에 전송된 데이터가 표시되면 전송이 성공한 것입니다.
2. 서버와 클라이언트가 동일한 물리적 호스트의 다른 시스템에 있는 경우 작성자는 Windows를 클라이언트로 사용하고 Linux를 서버로 사용합니다. IP 두 프로그램은 동일한 IP와 포트를 사용하여 두 프로그램을 각각의 시스템에 배포합니다. 먼저 서버 측 프로그램을 실행한 다음 클라이언트 측 프로그램을 실행하고 데이터를 보내고 서버 측 데이터가 나올 때까지 기다립니다. 성공적으로 받았습니다.
관련 권장사항:
Python으로 구현된 간단한 파일 전송 서버 및 클라이언트
php 업로드 이미지 클라이언트 및 서버측 구현 방법,
위 내용은 Python이 클라이언트 측 및 서버 측 데이터 전송을 구현하는 방법(코드)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!