首页 > 编程语言 >python基础 - socket编程基础

python基础 - socket编程基础

时间:2024-06-23 21:21:28浏览次数:3  
标签:--- sendData socket clientData python 编程 sk 发送数据

一对一 --- 服务端

import socket
ip_port = ('127.0.0.1',9999)

1- 创建socket对象---socket也叫套接字

sk = socket.socket()

2- 绑定ip 端口

sk.bind(ip_port)

3- 开启监听

sk.listen()
print('---socket服务器已经启动完成---')

4- 阻塞 等待客户端来链接 可以返回 连接对象,客户端的ip

conn,addr = sk.accept()

5- 接收数据

clientData = conn.recv(1024).decode('utf-8')#解码
print('接收到的客户端数据>>> ',clientData)

6- 发送数据

sendData = input("请输入发送数据:")
conn.sendall(sendData.encode('utf-8'))#编号

7- 关闭socket

sk.close()

一对一 --- 客户端

import socket
ip_port = ('127.0.0.1',9999)

1- 创建socket对象---socket也叫套接字

sk = socket.socket()

2- 连接服务器

sk.connect(('127.0.0.1',9999))

3- 发送数据

sendData = input("请输入发送数据:")
sk.sendall(sendData.encode('utf-8'))#编号

5- 接收数据

clientData = sk.recv(1024).decode('utf-8')#解码
print('接收到的服务器端的数据>>> ',clientData)

7- 关闭socket

sk.close()

一对多 --- 服务端

import socketserver
class sqServer(socketserver.BaseRequestHandler):
def handle(self):
#1- 描述下服务已经启动
print('---松勤聊天系统已经上线---')
#处理逻辑
while True:
# 接收数据
clientData = self.request.recv(1024).decode('utf-8') # 解码
print('接收到的服务器端的数据>>> ', clientData)
#发送数据
sendData = input("请输入发送数据:")
self.request.sendall(sendData.encode('utf-8')) # 编号
self.request.close()

2- 创建服务端

server = socketserver.ThreadingTCPServer(('127.0.0.1',9999),sqServer)

3- 一直运行

server.serve_forever()

一对多 --- 客户端A

import socket
ip_port = ('127.0.0.1',9999)

1- 创建socket对象---socket也叫套接字

sk = socket.socket()

2- 连接服务器

sk.connect(('127.0.0.1',9999))

while True:
#3- 发送数据
sendData = 'a用户:'+input("请输入发送数据:")
sk.sendall(sendData.encode('utf-8'))#编号
#5- 接收数据
clientData = sk.recv(1024).decode('utf-8')#解码
print('接收到的服务器端的数据>>> ',clientData)

7- 关闭socket

sk.close()

一对多 --- 客户端B

import socket
ip_port = ('127.0.0.1',9999)

1- 创建socket对象---socket也叫套接字

sk = socket.socket()

2- 连接服务器

sk.connect(('127.0.0.1',9999))

while True:
#3- 发送数据
sendData = 'b用户:'+input("请输入发送数据:")
sk.sendall(sendData.encode('utf-8'))#编号
#5- 接收数据
clientData = sk.recv(1024).decode('utf-8')#解码
print('接收到的服务器端的数据>>> ',clientData)

7- 关闭socket

sk.close()
import socket
ip_port = ('127.0.0.1',9999)

1- 创建socket对象---socket也叫套接字

sk = socket.socket()

2- 连接服务器

sk.connect(('127.0.0.1',9999))

while True:
#3- 发送数据
sendData = 'b用户:'+input("请输入发送数据:")
sk.sendall(sendData.encode('utf-8'))#编号
#5- 接收数据
clientData = sk.recv(1024).decode('utf-8')#解码
print('接收到的服务器端的数据>>> ',clientData)

7- 关闭socket

sk.close()

标签:---,sendData,socket,clientData,python,编程,sk,发送数据
From: https://www.cnblogs.com/running-snail-12345/p/18263920

相关文章

  • 实验7_文件应用编程
    实验任务4#include<stdio.h>intmain(){FILE*fp;charch;intcount=0;fp=fopen("d:\\data4.txt","r");if(fp==NULL){printf("failtoopenfile\n");return0;}while(!feof(fp)){......
  • SQL-Python
    师从黑马程序员数据库介绍数据库就是存储数据的库数据组织:库->表->数据数据库和SQL的关系MySQL的基础命令 SQL基础SQL语言的分类SQL的语法特征DDL-库管理showDATABASES;usesys;SELECTdatabase();CREATEDATABASEtestCHARSETutf-8;SHOWDATAB......
  • 基于 Python-Tkinter 的古诗文垂直搜索引擎(全网首份 + 包复现)
    目录一、前言二、实现效果参考文献注:①整个项目可作为本科阶段计算机NLP方向的课程设计,建议收藏。一、前言  中国古典诗词具有独特的艺术表现形式,在人们的日常生活中架起了情感共鸣的桥梁、充当了教育和启蒙的工具,其中很多古诗词蕴含着民族正气和家国情......
  • [absl_py][python]absl_py所有whl文件下载地址汇总
    absl_py是Google开发并维护的一个Python软件包,它是C++Abseil库的Python版本。该库旨在提供一系列高质量的、跨平台的实用工具,帮助开发者构建大规模软件项目。以下是关于absl_py的详细介绍:功能概述:字符串处理:absl_py提供了一组实用的字符串操作函数,包括字符串拼接、分割、......
  • python连接mysql、sqlserver、oracle、postgresql数据库进行封装
    python连接mysql、sqlserver、oracle、postgresql数据库进行封装python连接mysql、sqlserver、oracle、postgresql数据库进行封装详解一、引言二、python连接MySQL数据库进行封装三、python连接SQLServer数据库进行封装四、Python连接Oracle数据库进行封装五、Python连......
  • Python自动化神器:如何用PyAutoGUI模拟滚轮动一次
    哈喽,大家好,我是木头左!一、PyAutoGUI简介PyAutoGUI是一个纯Python的GUI自动化工具,其目的是可以用程序控制鼠标和键盘操作。它主要在三个方面发挥作用:1)对屏幕上的图像进行识别;2)控制鼠标和键盘的操作;3)具有强大的截图功能。二、安装PyAutoGUI使用PyAutoGUI之前,需要先进行安装。......
  • 【python】python海底捞门店营业数据分析与可视化(数据集+源码+论文)【独一无二】
    ......
  • Python基础之面向对象
    目录1面向对象1.1类方法1.1.1普通方法1.1.1.1实例调用1.1.1.2类调用1.1.2类方法1.1.3类静态方法1.2继承1.2.1单继承1.2.2多继承1.3方法重写1.4类私有属性方法和专有方法1.4.1类的私有属性1.4.2类的私有方法1.4.3类专有方法1面向对象Python从设计之初就已经是一......
  • python数据分析
    数据可视化基础定义与目的定义1.数据可视化是将数据以图形或图像的形式展示出来的过程2.目的是帮助人们更直观地理解、分析和解释数据目的1.揭示数据中的模式、趋势和关联2.辅助决策制定和问题解决3.增进数据沟通和交流数据可视化类型matplotlib库实现简单数据可视化......
  • 一个使用Python和假设的天气API来获取和展示天气数据的简单脚本示例
    要使用Python编写一个天气预测的脚本,我们通常需要依赖于现有的天气API来获取实时或历史天气数据,并且结合机器学习或统计模型来进行预测。然而,由于天气预测是一个复杂的任务,通常需要大量的计算资源和专业的气象知识,这里我们将简化这个过程,只展示如何使用Python和一个假设的天......