佛山网站优化效果,dw做网站简单首页,wordpress插件vpn,自己做网站的公司这里写目录标题 Python简单TCP通信功能代码实践阅读本博客前需准备的几个问题1. 网络通信的机制是什么#xff1f;2. 什么是python进行网络编程#xff1f;3. IP地址和端口是什么#xff1f; 一个简单的TCP通信功能示例#xff1a;client端.pysever端.pyPYCHARM运行结果 Py… 这里写目录标题 Python简单TCP通信功能代码实践阅读本博客前需准备的几个问题1. 网络通信的机制是什么2. 什么是python进行网络编程3. IP地址和端口是什么 一个简单的TCP通信功能示例client端.pysever端.pyPYCHARM运行结果   Python简单TCP通信功能代码实践 
阅读本博客前需准备的 
python pycharm socket包 
几个问题 
1. 网络通信的机制是什么 
网络通信就好比打电话有人发出就有人接收。因此有了服务器和客户端。不同于python数据分析在网络通信需要写好两个端。 
2. 什么是python进行网络编程 
用Python进行网络编程就是在Python程序本身这个进程内连接别的服务器进程的通信端口进行通信。Python 网络编程和其它语言类似通常通过Socket套接字向网络发出请求或者应答网络请求使主机间或者一台计算机上的进程间可以通讯。 在用python编写的时候通常要写两套也就是服务端的逻辑和客户端的逻辑。 
3. IP地址和端口是什么 
在网络中每台计算机都必须有一个的IP地址目前IP地址广泛使用的版本是IPv4 32位4个字节用点分十进制的格式表示例如192.168.1.100 。 127.0.0.1 是固定IP地址代表当前计算机相当于面向对象里的 “this”。 “IP地址端口号”就可以区分不同的主机服务了比如Web服务、FTP服务、SMTP服务等这些服务完全可以通过1个IP地址来实现。 
一个简单的TCP通信功能示例 
client端.py 
import socketip_port  (127.0.0.1, 7852)  #ip地址加端口号为什么是7852呢我瞎编的。可以随机数~s  socket.socket()  # 创建套接字s.connect(ip_port)  # 连接服务器while True:  # 通过一个死循环不断接收用户输入并发送给服务器inp  input(请输入要发送的信息 ).strip()if not inp:  # 防止输入空信息导致异常退出continues.sendall(inp.encode())if inp  exit:  # 如果输入的是‘exit’表示断开连接print(结束通信)breakserver_reply  s.recv(1024).decode()print(server_reply)s.close()  # 关闭连接sever端.py 
import socketip_port  (127.0.0.1, 7852)sk  socket.socket()  # 创建套接字
sk.bind(ip_port)  # 绑定服务地址
sk.listen(5)  # 监听连接请求
print(启动socket服务等待客户端连接...)
conn, address  sk.accept()  # 等待连接此处自动阻塞
while True:  # 一个死循环直到客户端发送‘exit’的信号才关闭连接client_data  conn.recv(1024).decode()  # 接收信息if client_data  exit:  # 判断是否退出连接exit(通信结束)print(来自%s的客户端向你发来信息%s % (address, client_data))conn.sendall(服务器已经收到你的信息.encode())  # 回馈信息给客户端
conn.close()  # 关闭连接PYCHARM运行结果 
打开pycharm先运行server端server.pypycharm控制台显示 
启动socket服务等待客户端连接...再运行client端client.pypycharm控制台显示 请输入要发送的信息 此时此刻当你输入 hi按enter键 则会出现如下信息  
请输入要发送的信息 hi
服务器已经收到你的信息
请输入要发送的信息 hello
服务器已经收到你的信息
请输入要发送的信息 差不多了吧
服务器已经收到你的信息
请输入要发送的信息 那就拜拜了
服务器已经收到你的信息
请输入要发送的信息 exit
结束通信与此同时也可以观察sever.py端的运行情况。当client输入一个信息时sever端的控制台下方能正常显示收到的信息则表示两者已经互通成功是不是很神奇 
启动socket服务等待客户端连接...
来自(127.0.0.1, 49602)的客户端向你发来信息hi
来自(127.0.0.1, 49602)的客户端向你发来信息hello
来自(127.0.0.1, 49602)的客户端向你发来信息差不多了吧
来自(127.0.0.1, 49602)的客户端向你发来信息那就拜拜了
通信结束ok啦有一个小细节就是源码中的端口是7852但是在实际运行中变成了49602。查了一下原因可能是指定的端口7852已经被其他程序占用了。当尝试绑定一个被占用的端口时操作系统会拒绝该请求并可能自动分配一个随机的可用端口。 
当再次运行会发现报这样的错误只需要改一下端口就行了。  又可以重新建立起通信了 
今天的初探就到这了如何进行网络编程和应用有待进一步挖掘~ 
引用 Python网络编程入门: https://blog.csdn.net/cnds123/article/details/121719357