zoukankan      html  css  js  c++  java
  • python--教你做个最简单的tcp通信。。

    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 中文名:蟒蛇,设计者:Guido van Rossum
  • 相关阅读:
    使用GDI+将24位真彩色图像转换为8位灰度图像
    Disable SIP automatic popup
    [转]"分析 EntityName 时出错"的解决方案
    PHP中文件读写操作
    VC6 combobox使用
    [转]WinCE下消息队列用法
    Java8 stream处理List,Map总结
    【工具】cephbluestoretool
    读的
    【osd | 运维】pg相关命令
  • 原文地址:https://www.cnblogs.com/lutt/p/10053859.html
Copyright © 2011-2022 走看看