python Tcp协议发送和接收信息的例子

yipeiwu_com6年前Python基础

需要建立2个文件,一个作为客户端,一个作为服务端

文件一 作为客户端client,文件二作为服务端server

文件一

# client 客户端
# TCP必须建立连接
import socket  #导入模块
# SOCK_STREAM---TCP协议方式
# AF_INET----我的是ipv4地址
#1,创建socket对象:指定传输协议
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
#2,建立连接发送连接请求 ip地址和端口号
s.connect(('127.0.0.1',8000))
s.send("你好".encode()) #只能发送字节流需要用encode转码字符串成字节,不然无法发送文件

文件二:

#服务端server
 
import socket
#1创建socket对象
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM) #必须和客户端保持一致
#2,需要自己绑定一个ip地址和端口号
s.bind(('127.0.0.1',8000))
#3,服务端监听操作时刻注意是否有客户端请求发来
s.listen(3)  #可以同时监听3个,但是这里只有一个客户请求,因为没有写多线程
#4,同意连接请求
s1,addr=s.accept()  #s是服务端的socket对象s1是接入的客户端socket对象
print(addr)
#5,revice接收数据
data=s1.recv(1024) #设定一次可以接收1024字节大小
print(data.decode())#传过来的字节流需要用decode()解码

运行文件的时候,先运行文件二服务端,再运行文件一客户端

以上这篇python Tcp协议发送和接收信息的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python进阶教程之异常处理

在项目开发中,异常处理是不可或缺的。异常处理帮助人们debug,通过更加丰富的信息,让人们更容易找到bug的所在。异常处理还可以提高程序的容错性。 我们之前在讲循环对象的时候,曾提到一个...

pytorch nn.Conv2d()中的padding以及输出大小方式

我就废话不多说了,直接上代码吧! conv1=nn.Conv2d(1,2,kernel_size=3,padding=1) conv2=nn.Conv2d(1,2,kernel_si...

tornado捕获和处理404错误的方法

Tornado 文档中提到但是这样只能捕获到handlers中列出的路径请求中的错误。 如果只定义了(r"/hello", HelloHandler) 一条规则,那么只能捕获到 /hel...

一个计算身份证号码校验位的Python小程序

S = Sum(Ai * Wi), i=0,.......16 (现在的身份证号码都是18位长,其中最后一位是校验位,15位的身份证号码好像不用了) Ai对应身份证号码,Wi则为用于加权...

深入理解Python中字典的键的使用

字典的键        字典中的值没有任何限制, 可以是任意Python对象,即从标准对象到用户自定义对象皆可,但是字典中的键...