TCP协议:建立在IP协议之上的,TCP协议,传输控制协议(英语:Transmission Control Protocol,缩写为 TCP)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义。

TCP通信需要经过创建连接、数据传送、终止连接三个步骤。其优点是:稳定可靠。

上代码啦!!

tcp服务端的搭建

import socket

# 不管是tcp还是udp最重要的是都需要导入socket套接字
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)

# 同名方法socket需要导入两个参数,第1个参数Address Family:可以选择 AF_INET(用于 Internet 进程间通信) 或者 AF_UNIX(用于同一台机器进程间通信),实际工作中常用AF_INET

#                                                          第2个参数Type:套接字类型:可以是 SOCK_STREAM(流式套接字,主要用于 TCP 协议),或者 SOCK_DGRAM(数据报套接字,主要用于 UDP 协议)。

HOST = "0.0.0.0"    
PORT = 3332
s.bind((HOST,PORT))

# 绑定IP和端口
s.listen(128)

# tcp特点需要监听,128代表最大接收请求数为123
conn,addr = s.accept()

# 拆包接收客户端
print("客户端IP为:%s" %str(addr))
mess = input("你相对客户说些什么:")
mess = mess.encode()

# 编码
conn.send(mess)
data = conn.recv(1024)

# 接收客户端信息,最大字节1024
print("客户端回传是:%s"%data.decode())
conn.close()
s.close()

# 关闭通信、关闭服务端

#  tcp客户端搭建

import socket

c = socket.socket(socket.AF_INET,socket.SOCK_STREAM)

HOST = "127.0.0.1"
POST = 3332
c.connect((HOST,POST))
print("服务端地址为:%s,端口是:%s,ok"% (HOST,str(POST)))
data = c.recv(1024)
print("服务端回传信息是:%s"% data.decode())
mess = input("您对服务端有什么建议:")
mess = mess.encode()
c.send(mess)
c.close()

---恢复内容结束---

python--教你做个最简单的tcp通信。。的更多相关文章

  1. C#socket编程之实现一个简单的TCP通信

    TCP(TransmissionControl Protocol)传输控制协议. 是一种可靠的.面向连接的协议(eg:打电话).传输效率低全双工通信(发送缓存&接收缓存).面向字节流.使用TC ...

  2. 简单理解TCP通信的三次握手

    TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接. 位码(可以理解为请求状态): 有6种标示:SYN(synchronous建立联机) ACK(acknowledg ...

  3. python socket和简单tcp通信实现

    python 服务端和客户端的简单交互 TCP服务端: 1 创建套接字,绑定套接字到本地IP与端口 s = socket.socket(socket.AF_INET,socket.SOCK_STREA ...

  4. C#--简单的串口通信程序

    前几天做毕业设计,其中要用到串口和下位机进行通信,于是自己捣鼓了一个简单的串口通信程序. 在做通信之前要先弄一个SerialPort组件出来,当然也可以通过程序来创建.本次设计中采用的是拖的winfo ...

  5. 一听就懂:用Python做一个超简单的小游戏

    写它会用到 while 循环random 模块if 语句输入输出函数

  6. 【转载】手把手教你使用Git(简单,实用)

    手把手教你使用Git(简单,实用) 标签: git 2016年04月21日 20:51:45 1328人阅读 评论(0) 收藏 举报 一:Git是什么? Git是目前世界上最先进的分布式版本控制系统. ...

  7. 3分钟教你做一个iphone手机浏览器

    3分钟教你做一个iphone手机浏览器 第一步:新建一个Single View工程: 第二步:新建好工程,关闭arc. 第三步:拖放一个Text Field 一个UIButton 和一个 UIWebV ...

  8. [TPYBoard - Micropython之会python就能做硬件 1] 运行第一个脚本——点亮LED

    转载请注明:@小五义http://www.cnblogs.com/xiaowuyiQQ群:64770604 会python就能做硬件! 一.TPYBoard V102开发板 TPYBoard V102 ...

  9. Python中的装饰器的简单介绍02

    这篇博文转载自伯乐在线的12步轻松搞定python装饰器,重构成python3. 1. 函数 在python中,函数通过def关键字.函数名和可选的参数列表定义.通过return关键字返回值.我们举例 ...

随机推荐

  1. Dotnetbar中如何让LabelX自动换行

    把LableX标签控件的WordWrap属性设置为true. https://zhidao.baidu.com/question/207858423.html 另外lable控件可以设置AutoSiz ...

  2. kafka后台启动的命令

    kafka如果直接启动会出现问题,就是信息会打印在控制台,就会出现在控制台. 然后关闭窗口,kafka随之关闭,然后启动以下的命令就可以实现. ./kafka-server-start.sh ../c ...

  3. 20165225《Java程序设计》第九周学习总结

    20165225<Java程序设计>第九周学习总结 1.视频与课本中的学习: 第十三章学习总结 URL类 URL对象包含三部分信息:协议.地址和资源 创建URL对象两种方法: public ...

  4. python之类中如何判断是函数还是方法

    通常我们认为在类中的函数为方法,类外面声明def为函数,这种说法有点片面 方法1: class Work(object): def show(self): print("执行show方法&q ...

  5. Eclipse中通过Hibernate Tools插件实现从数据库逆向生成Hibernate带注解的实体类

    一.安装hibernate tools插件 1.在线安装 通过Eclipse的Help->Install New Software 在线安装插件,插件连接为: eclipse helios(3. ...

  6. ubuntu windows10 in GPT HDD GRUB Boot

    some thing wrong with my input, I can just use English  -_-!!! The HDD have two kinds of formart, GP ...

  7. icon工具类

    using System; using System.Drawing; using System.Collections; using System.ComponentModel; using Sys ...

  8. nodejs 学习五 单元测试一

    一. chai chai 自身是依赖nodejs的 assert,让检测更加语义化. chai 采用两种模式,TDD和BDD, TDD是类似自然语言方式 BDD是结构主义 chai文旦地址 二.moc ...

  9. 【JMeter】获取JDBC响应做接口关联

    1:从sql表中将需要取的数据查出来 2:我们需要把这个id为4451的数据从sql里面取出来,传到下一个sql里面,执行删除 3:写一个接口的传参有些不同,变成了var_id_1.var_id是之前 ...

  10. yum方式安装lnmp

    1.安装mysql>>>yum -y install mariadb mariadb-server 给root用户设置密码 >>>mysqladmin -uroot ...