• 使用Python的socket模块搭建tcp服务器与客户端


    # __author__ = 'ZSnail'
    
    # socket就是一个网络通讯协议
    # 服务器端
    
    import socket
    
    server = socket.socket()
    
    server.bind(('127.0.1.1', 6969))  # 绑定要监听的端口
    
    server.listen()  # 监听
    
    print('开始等??')  # 在这里会形成阻塞,一直等到有客户连接
    
    # conn就是客户端连过来而在服务器内生成的一个连接实例
    
    conn, address = server.accept()  # 等电话打进来
    while True:
        print('电话来了')
        data = conn.recv(1024)  # 官方要求最好不要高于8192 - 8k
    
        print('receive:', data)
    
        conn.send(data.upper())
    
    server.close()

    以上是服务端代码.

    有可能不太好理解conn, address的意思, 可以理解为移动客服人员, 整个是一个服务体系, 但是当移动客户打进电话时, 需要真正的有人来回复打电话的客户

     1 # __author__ = 'ZSnail'
     2 # 客户端
     3 import socket
     4 
     5 client = socket.socket()  # 声明socket类型和socket链接
     6 
     7 client.connect(('127.0.1.1', 6969))   # 连接端口
     8 
     9 while True:    # 在这里写死循环 可以让客户端一直保持连接状态而不断开
    10     msg = input('>>:').strip()
    11 
    12     client.send(msg.encode('utf-8'))  # python3内只能发送比特类型
    13 
    14     data = client.recv(1024)   # 收多少东西 单位是字节
    15 
    16     print('receive:', data)
    17 
    18 client.close()

    以上是客户端代码, 可以尝试插入几条print语句来查看阻塞问题

  • 相关阅读:
    一个很好的在线测试编辑器(可以在线运行很多程序)
    基于angular的route实现单页面cnodejs
    微博
    jsonp跨域再谈
    打开IIS的快捷键
    PHPCMS笔记第二弹
    phpcms ——模板标签详细使用说明
    PHP流程管理,堪比小小程序
    PHP的简单易懂文件管理,可实现基本功能
    使用php ajax写省、市、区、三级联动
  • 原文地址:https://www.cnblogs.com/jedenzhan/p/8728386.html
Copyright © 2020-2023  润新知