Flask接口签名sign原理与实例代码浅析
425
2022-08-26
Python 实战TCP的客户端 - 胖子老板,再来一包烟(python下载安装教程)
仅用学习参考
tcp客户端
什么是客户端呢?
肥仔来胖子老板店里买烟,肥仔就是客户端,胖子老板就是服务端。
client (肥仔白) -- "来包利群啦" --> server(胖子老板) client (肥仔白) <-- "给你啦" -- server(胖子老板)
作为客户端是主动访问服务端的,就跟肥仔白主动去胖子老板店铺买烟、买槟榔一样。
作为服务端是监听等待客户端来访问的,就跟胖子老板打着斗地主的游戏,等人来买东西一样。
tcp客户端构建流程 - 胖子老板来包烟
编写tcp的客户端代码,使用网络助手NetAssist作为服务端,演示tcp交互过程。
客服端代码:
[root@server01 tcp]# vim client.py #coding=utf-8from socket import *# 创建sockettcp_client_socket = socket(AF_INET, SOCK_STREAM)# 服务器的地址# '192.168.1.2'表示目的ip地址# 8080表示目的端口dest_addr = ('192.168.1.2', 8080) # 注意 是元组,ip是字符串,端口是数字# 链接服务器,进行tcp三次握手tcp_client_socket.connect(dest_addr)# 从键盘获取数据send_data = input("请输入要发送的数据:")# 发送数据到指定的服务端tcp_client_socket.send(send_data.encode("utf-8"))# 接收对方发送过来的数据,最大接收1024个字节recvData = tcp_client_socket.recv(1024)print('接收到的数据为:',recvData.decode('utf-8'))# 关闭套接字tcp_client_socket.close()
执行如下:
半双工通讯机制
那么下面来改进一下,设置可以循环发送数据。
tcp客户端 - 胖子老板,来包烟(循环版本)
循环版本
客户端代码: 只要将发送数据的部分设置循环即可,输入stop,则退出循环。
[root@server01 tcp]# vim client.py #coding=utf-8from socket import *# 创建sockettcp_client_socket = socket(AF_INET, SOCK_STREAM)# 服务器的地址# '192.168.1.2'表示目的ip地址# 8080表示目的端口dest_addr = ('192.168.1.2', 8080) # 注意 是元组,ip是字符串,端口是数字# 链接服务器,进行tcp三次握手tcp_client_socket.connect(dest_addr)while True: # 从键盘获取数据 send_data = input("请输入要发送的数据:") # 判断输入stop,则退出客户端 if send_data == "stop": break # 发送数据到指定的服务端 tcp_client_socket.send(send_data.encode("utf-8")) # 接收对方发送过来的数据,最大接收1024个字节 recvData = tcp_client_socket.recv(1024) print('接收到的数据为:',recvData.decode('utf-8'))# 关闭套接字tcp_client_socket.close()
执行如下:
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~