Python如何网络编程客户端与服务器
系列文章目录
python
文章目录
系列文章目录前言一、操作步骤
1.建立2.处理总结
概要
随着人工智能的不断发展,本文就介绍了用Python如何实现客户端与服务器的连接,实现多对一的状态,促使自己对python运用更加熟练与熟悉。
一、操作步骤
1.建立与运用
代码如下:
①打开编译环境,然后利用快捷键新建一个Python的文件
②构思实现主线程,子线程的关系
③运行的客户端的代码
import osimport socket#1 创建一个socket对象,套接字(ip,port)s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)#ip协议,传输层协议#2 主动链接服务器s.connect(("192.168.103.251",13000))#服务器的ip和端口print("我是客户端,我已链接服务器")#3 给服务器发送内容hello_msg = f"hello,我是{os.getlogin()}"s.send(hello_msg.encode("utf-8"))#发送之前要把字符串编码成字节#4 接收服务器的欢迎信息wel_msg = s.recv(1024).decode("utf-8")#接收服务器返回对的欢迎信息print(f"服务器说{wel_msg}")# 开始循环给服务器发送输入的内容# 输入内容 回车就发送给服务器 ,直到输入了q为止while True: msg = input("请输入:") s.send(msg.encode("utf-8")) if msg == "q": breaks.close()#关闭本次链接print("本次链接已关闭!")
④运行结果的代码
2.处理服务器端代码设置
代码如下:
①建立服务器端的代码
import socketimport threadingdef tcplink(link): hello_msg = link.recv(1024).decode("utf-8")#接收到字节解码成 print(f"客户端的打招呼信息:{hello_msg}") client_name = hello_msg[8:]#拿到打招呼信息中的姓名 wel_msg = "欢迎你:"+client_name#服务器返回给客户端的欢迎信息 link.send(wel_msg.encode("utf-8"))#发回给客户端 #开始循环接收客户端发来的内容,如果是q就退出循环,不过不是再显示 while True: msg = link.recv(1024).decode("utf-8") if msg == "q": break print(f"{client_name}说:{msg}") link.close() print("当前连接已关闭!")#1 创建一个socket对象,套接字(ip,port)s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)#ip协议,传输层协议#2 绑定服务器的ip和端口s.bind(("127.0.0.1",13000))#0到65505之间,不要写1024以下#3 开始监听客户端的链接s.listen(100)#100代表可以同时监听到的个数print("我是服务器,来访问我吧!")#4 接收链接while True: link = s.accept()[0]#link代表本次链接,用于后续接收内容 #每过来一个链接,就创建一个线程 一对一的服务这个客户端 t = threading.Thread(target=tcplink,args=(link,)) t.start()#开启线程
最后开启热点,然后客户端(各自电脑)连接上同一个服务端(同一个热点),连接上服务端的地址。
总结
代码越少,运行效果越快,要精简代码;还掌握了主线程的应用,多线程:国内版:python 多线程 例子;国际版:python multithreading cheat sheet