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

yipeiwu_com5年前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中marshal对象序列化的相关知识

有时候,要把内存中的一个对象持久化保存到磁盘上,或者序列化成二进制流通过网络发送到远程主机上。Python中有很多模块提供了序列化与反序列化的功能,如:marshal, pickle,...

用Python进行基础的函数式编程的教程

许多函数式文章讲述的是组合,流水线和高阶函数这样的抽象函数式技术。本文不同,它展示了人们每天编写的命令式,非函数式代码示例,以及将这些示例转换为函数式风格。 文章的第一部分将一些短小的数...

Django项目主urls导入应用中views的红线问题解决

Django项目主urls导入应用中views的红线问题解决

使用PyCharm学习Django框架,从项目的主urls中导入app中的views的时候,导入的包中下面有红线报错,但是却能正常使用。要是这样也就没什么事了,但是导入之后的提示功能就丧...

Python 面向对象 成员的访问约束

在Python中是通过一套命名体系来识别成约的访问范围的 class MyObjec(object): username = "developerworks" # public _ema...

完美解决Python 2.7不能正常使用pip install的问题

主要原因是用户目录编码使用了中文,解决方法如下: pip安装python包会加载我的用户目录,我的用户目录恰好是中文的,ascii不能编码。 解决办法是: python目录 Pytho...