Python使用socket模块实现简单tcp通信

作者:王者小青铜 时间:2021-04-20 14:54:14 

正文开始:

服务器端代码:


# 再来简单的测试,这个是服务器端
import socket
import sys

BUF_SIZE = 1024
ip_port = (r"127.0.0.1", 11552)

my_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 先拿到套接字,指定个ipv4以及流式数据包
my_socket.bind(ip_port) # 绑定
my_socket.listen(2)

# 循环等待客户端连接
while True:
 print("waiting for client..")
 conn, address = my_socket.accept()
 print("connect from .." + str(address))

# 循环接受
 while True:
   ret = conn.recv(BUF_SIZE)
   print("server receive data:" + str(ret))

if "END" in str(ret):
     print("clent's gonna be offline.")
     conn.send(bytes("BYE", encoding="utf-8"))
     my_socket.close()
     sys.exit()
   else:
     conn.send(bytes("server copy", encoding="utf-8"))

客户端代码:


# 这个是客户端
import socket

BUF_SIZE = 1024
ip_port = (r"127.0.0.1", 11552)

my_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
my_socket.connect(ip_port)

while True:
 data = input(">>>")

my_socket.send(bytes(data, encoding="utf-8"))
 recieve_data = my_socket.recv(BUF_SIZE)
 print("client receive data = " + str(recieve_data))
 if "BYE" in str(recieve_data):
   print("server disconnect!")
   break

运行方法:

一个利用windows的cmd,直接输入命令:python server.py运行服务器

一个利用pycharm直接运行client.py

来源:https://www.cnblogs.com/qihuanye-229110/p/13439886.html

标签:Python,socket,模块,tcp
0
投稿

猜你喜欢

  • Python 使用多属性来进行排序

    2023-11-10 21:15:07
  • PyTorch实现重写/改写Dataset并载入Dataloader

    2023-10-31 17:19:35
  • js中bool值的转换及“&&”、“||”、 “!!”详解

    2024-04-19 10:02:01
  • Go 语言前缀树实现敏感词检测

    2024-05-05 09:27:18
  • Python统计时间内的并发数代码实例

    2022-02-17 18:24:16
  • Python 正则表达式大全(推荐)

    2021-10-02 05:43:50
  • Python 基于Selenium实现动态网页信息的爬取

    2023-10-31 12:00:22
  • python __add__()的具体使用

    2022-11-29 07:49:22
  • Python设计模式之建造者模式实例详解

    2021-07-13 17:37:03
  • 设置SQLServer数据库中某些表为只读的多种方法分享

    2024-01-23 06:27:47
  • Python可变参数会自动填充前面的默认同名参数实例

    2022-05-24 05:00:43
  • Python 日志logging模块用法简单示例

    2021-10-08 19:47:20
  • python实现知乎高颜值图片爬取

    2023-03-11 10:35:54
  • 深入php var_dump()函数的详解

    2023-11-08 16:09:01
  • PHP基于phpqrcode生成带LOGO图像的二维码实例

    2023-11-23 23:47:18
  • 基于JSP的RSS阅读器的设计与实现方法(推荐)

    2024-05-03 15:31:26
  • 关于Numpy中的行向量和列向量详解

    2021-06-29 20:30:48
  • linux mysql5.6版本的安装配置过程

    2024-01-17 03:52:27
  • python读取hdfs上的parquet文件方式

    2021-04-07 11:54:31
  • openCV-Python笔记之解读图像的读取、显示和保存问题

    2022-04-26 19:46:02
  • asp之家 网络编程 m.aspxhome.com