Python使用socket模块实现简单tcp通信
作者:王者小青铜 发布时间:2021-04-20 14:54:14
标签:Python,socket,模块,tcp
正文开始:
服务器端代码:
# 再来简单的测试,这个是服务器端
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


猜你喜欢
- 程序运行效率程序的运行效率分为两种:第一种是时间效率,第二种是空间效率。时间效率被称为时间复杂度,而空间效率被称作空间复杂度。时间复杂度主要
- pil版:from PIL import Imagefilename = r'E:\data\yangben\0.jpg'i
- 项目使用Pyqt作为UI框架,使用相机线程捕捉image,并在QGraphicsView中显示,遇到以下问题:1、采集的数据为nparray
- excel 文件内容如下:读取excel内容:import xlrdfrom datetime import datetimefrom xl
- 不论是做WEB设计还是做交互模型,最快确立创意与设计效果的最好办法就是用笔在纸上绘制出来。不过从事IT行业的人很少一部分是来自美术学院。当然
- 前言相信我,只要记住本文的 7️⃣ 步口诀,就能彻底掌握 JS 中的 this 指向。先念口诀:箭头函数、new、bind、apply 和
- python的开发工具有很多种,各有特点,本人一直使用的是pycharm,所以本篇内容仅限pycharm。1,设置python文件头模板当我
- 1. 字符编码简介1.1. ASCIIASCII(American Standard Code for Information Interc
- 相信互联网的从业者都有同一个顾虑,那就是怎样将自己网站的用户牢牢抓住。如果以用户的角度来讲,任何网站其实都是一样的,都是我获取东西、获取服务
- 滑动平均会为目标变量维护一个影子变量,影子变量不影响原变量的更新维护,但是在测试或者实际预测过程中(非训练时),使用影子变量代替原变量。1、
- 这是最近碰到一个问题,先描述下问题:首先我有一个训练好的模型(例如vgg16),我要对这个模型进行一些改变,例如添加一层全连接层,用于种种原
- 目前网络上大部分博客的结论都是这样的:Python不允许程序员选择采用传值还是传 引用。Python参数传递采用的肯定是“传对象引用”的方式
- post接收字符串def subscription(request): msg = request.POST.get('
- 前言当我们忘记mysql数据库密码时我们就无法正常进入数据库,也就无法修改密码,那么这时该怎么修改密码呢,这里教大家一个简单常用修改密码的方
- 使用Python解析各种格式的数据都很方便,比如json、txt、xml、csv等。用于处理简单的数据完全足够用了,而且代码简单易懂。前段时
- 加在< head>中< SCRIPT LANGUAGE="JavaScript">//more
- 前言几乎每个程序都需要用到图片。下面就来给大家介绍前端+PHP后端实现微信小程序实现图片上传功能,分享出来供大家参考学习,下面话不多说了,来
- 文件夹的复制文件夹复制使用的函数导入包与模块`from shutil import copytree使用方法:copytree(来源目录,
- 如下所示:def is_img(ext): ext = ext.lower() if ext == '.jpg': &nbs
- 我就废话不多说了,大家还是直接看代码吧~import pandas as pdimport numpy as npcolumns = [[&