花了点时间学习了以下关于套接字的脚本
主要就是服务端和客户端的交互内容
首先服务端脚本
import sys
import socket
#创建一个面向连接的服务端对象
serversocket = socket.socket(
socket.AF_INET,socket.SOCK_STREAM
)
#设置主机名、端口号
host = socket.gethostname()
port = 9999
#将主机名和端口号绑定到服务端对象上
serversocket.bind((host,port))
#设置最大监听数量,超出部分排队等待
serversocket.listen(5)
while True:
#获得服务端对象属性分别给clinksocket,addr
clinksocket,addr = serversocket.accept()
print('连接地址:%s'%str(addr))
#设置响应正文
msg= '我是一个服务端套接字'+'\n'
#给响应正文设置编码集,并发送
clinksocket.send(msg.encode('utf-8'))
#关闭
clinksocket.close()
然后是客户端脚本
"""
客户端:
下面我们要创建一个客户端套接字用来连接服务商,通过connect()函数连接到名字为hostname且端口号为9999的服务端,并且从服务端
获取数据,一切完成后需要关闭连接
"""
import sys
import socket
#创建一个面向连接的客户端对象
consocket = socket.socket(
socket.AF_INET,socket.SOCK_STREAM
)
#设置主机和端口号
host= socket.gethostname()
port = 9999
#创建连接
consocket.connect((host,port))
# 控制接收量
msg = consocket.recv(2000)
#关闭连接
consocket.close()
#打印接收内容
print(msg.decode('utf-8'))
需要开启两个端口进行。仅仅是一个简单的小demo