首页 > 编程语言 >python——socket通信

python——socket通信

时间:2024-04-24 14:46:03浏览次数:35  
标签:socket python 通信 server client 服务器 连接 客户端

TCP协议是一种面向连接的协议,它在网络中提供可靠的、有序的、基于字节流的数据传输。它通过建立连接、数据的确认和重传机制等,确保数据的可靠性和顺序性。在TCP通信中,客户端和服务器之间的数据传输是双向的,双方可以相互发送和接收数据

实现TCP服务器

以下是一个示例,展示了如何使用Python Socket模块实现一个简单的TCP服务器:

import socket

# 创建Socket对象
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

# 绑定IP地址和端口号
server_address = ('localhost', 8888)
server_socket.bind(server_address)

# 监听客户端连接
server_socket.listen(1)
print('服务器已启动,等待客户端连接...')

# 接受客户端连接
client_socket, client_address = server_socket.accept()
print('客户端已连接:', client_address)

# 接收客户端消息
data = client_socket.recv(1024)
print('收到消息:', data.decode())

# 发送回复消息给客户端
reply = '欢迎连接到服务器!'
client_socket.sendall(reply.encode())

# 关闭连接
client_socket.close()
server_socket.close()

在这个示例中,我们首先创建了一个Socket对象并绑定到本地主机的IP地址和指定的端口号。然后,我们调用listen()方法开始监听客户端连接。一旦有客户端连接到服务器,我们通过调用accept()方法来接受连接,并返回一个新的Socket对象来处理客户端请求。

接收到客户端的消息后,我们打印出来,并发送一个回复消息给客户端。最后,我们关闭客户端和服务器的连接

实现TCP客户端

以下是一个示例,展示了如何使用Python Socket模块实现一个简单的TCP客户端:

import socket

# 创建Socket对象
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

# 连接服务器
server_address = ('localhost', 8888)
client_socket.connect(server_address)

# 发送消息给服务器
message = 'Hello, Server!'
client_socket.sendall(message.encode())

# 接收服务器回复消息
reply = client_socket.recv(1024)
print('收到回复:', reply.decode())

# 关闭连接
client_socket.close()

在这个示例中,我们首先创建了一个Socket对象,并通过connect()方法连接到指定的服务器地址和端口号。然后,我们发送一条消息给服务器,并通过recv()方法接收服务器的回复消息。

最后,我们关闭客户端的连接

标签:socket,python,通信,server,client,服务器,连接,客户端
From: https://www.cnblogs.com/luckywh/p/17713808.html

相关文章

  • python XML 文件解析
    XML文件认识<axmlns:ns="xxx"attr1="33"><ns:b>1<c>2<d/>3</c></ns:b>4</a>xml每个节点可以分为tag:a,ns:b,c,d都是tagtext:1,2是texttail:3,4是tail.3是属于d的tail,4是ns:b的tailattrib......
  • python包:torchvision
    torch 是一个偏向于底层的包, 做一些较为基础 矩阵运算 对于不同的样本比如图像,声音,文字, 之类,有更加针对性的包 比如,针对图片 他的矩阵处理专用包就是:torchvision 这个就需要单独安装,这个包的体积不是很大,我们可以直接尝试安装 pipinstalltorchvision......
  • 在windows下使用COSCMD时因Python版本不支持导致报SafeConfigParser不支持的错误
    在Windows下通过pip安装COSCMD后,使用相关命令操作Coscmd时报错,具体看错误信息是:SafeConfigParser不再支持。这是因为本地的python的版本是3.12.2,此版本已经不再支持SafeConfigParser这个类。而CosCmd的源代码是用的SafeConfigParser这个类,所以导致报错。 解决方案:修改C:\Pyth......
  • python包:torch
    torch 这个包非常大,安装也非常麻烦。基本可以上,他是深度学习里面重要的一个包,要安装torch  首先要确定自己的操作系统,自己的python版本,自己的版本, 是要安装CPU版本的torch,还是GPU版本的torch  ***我这边是WIN10专业版。Python3.8.10。我自己有泰坦RTX的显......
  • 03_微信小程序页面之间的数据通信
     1.父传值子,数据绑定:propertiesComponent({properties:{propA:{type:String,//传递的数据类型value:''//默认值},propB:Number//简化的定义方式}})<!--引用组件的页面模板--><view><costompropA="{{name}}&quo......
  • 在阿里云服务器上安装python3.6.3
    阿里云服务器试用1、先进到服务器列表2、进入远程连接客户端使用账号密码进行连接即可用xshell或putty连接了=============================================================================一般系统中默认是python2,下面是python3安装流程一、下载https://www.pyth......
  • python中时间转换,获取上一月上一周,本月,本周
    defpaserTime(timestamp):t=time.time()f=time.localtime(timestamp/1000)print(t)#原始时间数据#print(int(t))#秒级时间戳print(int(round(t*1000)))#毫秒级时间戳#nowTime=lambda:i......
  • Python GUI开发- PyQt5 开发小工具环境入门
    前言常见的python开发gui的库有Tkinter,PyQt5,wxPython等。本教程是选择PyQt5开发桌面小工具。环境准备只需pip安装即可快速准备好开发环境pipinstallpyqt5快速开始创建一个空的window窗口Qapplication():每个GUI都必须包含一个Qapplication,argv表示获取命令行参数,如果......
  • golang通过sock进行通信
    只是demo,生产环境要防止粘包。可以作为多进程之间通讯。。。。serverpackagemainimport( "fmt" "net" "os" "os/signal" "sync" "syscall")//客户端连接结构typeClientstruct{ Conn*net.UnixConn}varclients=make(map......
  • python将字典转换为对象(type的高级用法)
    创建对象使用type()函数还可以动态创建对象。在Python中,对象本质上也是一种类型,因此可以使用type()函数来创建对象。例如:obj=type('MyObject',(),{'attr':'value'})()等价于classMyObject:attr='value'obj=MyObject()创建类使用type()函数还可以......