如何使用Python编写TCP客户端实现向胖子老板发送再来一包烟请求?

2026-05-21 21:252阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计818个文字,预计阅读时间需要4分钟。

如何使用Python编写TCP客户端实现向胖子老板发送再来一包烟请求?

仅学习参考+TCP客户端+什么是客户端呢?+小胖来胖师傅店里买烟,小胖就是客户端,胖师傅就是服务端。+client+--+来包利群吧+--+server(胖师傅师傅)+client(小胖白)

仅用学习参考

tcp客户端

什么是客户端呢?

肥仔来胖子老板店里买烟,肥仔就是客户端,胖子老板就是服务端。

client (肥仔白) -- "来包利群啦" --> server(胖子老板)
client (肥仔白) <-- "给你啦" -- server(胖子老板)

作为客户端是主动访问服务端的,就跟肥仔白主动去胖子老板店铺买烟、买槟榔一样。

作为服务端是监听等待客户端来访问的,就跟胖子老板打着斗地主的游戏,等人来买东西一样。

如何使用Python编写TCP客户端实现向胖子老板发送再来一包烟请求?

tcp客户端构建流程 - 胖子老板来包烟

编写tcp的客户端代码,使用网络助手​​NetAssist​​作为服务端,演示tcp交互过程。

客服端代码:

[root@server01 tcp]# vim client.py

#coding=utf-8

from socket import *

# 创建socket
tcp_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-8

from socket import *

# 创建socket
tcp_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()

执行如下:




关注微信公众号,回复、Python、PHP、JAVA、web,则可获得Python、PHP、JAVA、前端等视频资料。


本文共计818个文字,预计阅读时间需要4分钟。

如何使用Python编写TCP客户端实现向胖子老板发送再来一包烟请求?

仅学习参考+TCP客户端+什么是客户端呢?+小胖来胖师傅店里买烟,小胖就是客户端,胖师傅就是服务端。+client+--+来包利群吧+--+server(胖师傅师傅)+client(小胖白)

仅用学习参考

tcp客户端

什么是客户端呢?

肥仔来胖子老板店里买烟,肥仔就是客户端,胖子老板就是服务端。

client (肥仔白) -- "来包利群啦" --> server(胖子老板)
client (肥仔白) <-- "给你啦" -- server(胖子老板)

作为客户端是主动访问服务端的,就跟肥仔白主动去胖子老板店铺买烟、买槟榔一样。

作为服务端是监听等待客户端来访问的,就跟胖子老板打着斗地主的游戏,等人来买东西一样。

如何使用Python编写TCP客户端实现向胖子老板发送再来一包烟请求?

tcp客户端构建流程 - 胖子老板来包烟

编写tcp的客户端代码,使用网络助手​​NetAssist​​作为服务端,演示tcp交互过程。

客服端代码:

[root@server01 tcp]# vim client.py

#coding=utf-8

from socket import *

# 创建socket
tcp_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-8

from socket import *

# 创建socket
tcp_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()

执行如下:




关注微信公众号,回复、Python、PHP、JAVA、web,则可获得Python、PHP、JAVA、前端等视频资料。