python Socket之客户端和服务端握手详解
发布时间:2020-12-17 08:04:24 所属栏目:Python 来源:网络整理
导读:简单的学习下利用socket来建立客户端和服务端之间的连接并且发送数据 1. 客户端socketClient.py代码 import socket s = socket.socket(socket.AF_INET,socket.SOCK_STREAM) # 建立连接: s.connect(('127.0.0.1',9999)) # 接收欢迎消息: print(s.recv(1024).d
简单的学习下利用socket来建立客户端和服务端之间的连接并且发送数据 1. 客户端socketClient.py代码 import socket s = socket.socket(socket.AF_INET,socket.SOCK_STREAM) # 建立连接: s.connect(('127.0.0.1',9999)) # 接收欢迎消息: print(s.recv(1024).decode('utf-8')) for data in [b'Michael',b'Tracy',b'Sarah']: # 发送数据: s.send(data) print(s.recv(1024).decode('utf-8')) s.send(b'exit') s.close() 2. 服务端serverSocket.py代码 import socket import threading import time # from threading import Thread s = socket.socket(socket.AF_INET,socket.SOCK_STREAM) # 监听端口: s.bind(('127.0.0.1',9999)) s.listen(5) print('Waiting for connection...') 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 sock.send(('Hello,%s!' % data.decode('utf-8')).encode('utf-8')) sock.close() print('Connection from %s:%s closed.' % addr) while True: # 接受一个新连接: sock,addr = s.accept() # 创建新线程来处理TCP连接: t = threading.Thread(target=tcplink,args=(sock,addr)) t.start() 3.操作过程 开两个控制台窗口,先运行服务端 python3 serverSocket.py 然后运行客户端 python3 socketClient.py socket连接截图如下 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程小技巧。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |