• 使用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语句来查看阻塞问题

  • 相关阅读:
    September 22nd 2016 Week 39th Thursday
    September 21st 2016 Week 39th Wednesday
    android 几个小技巧
    深入理解计算机系统----经验之谈
    输入数字如何获取
    super 和this的用法
    java程序员修炼之道
    eclipse 如何使用svn
    如何手动添加Android Dependencies包
    如何查看正在使用端口号并利用任务管理器将其关闭
  • 原文地址:https://www.cnblogs.com/jedenzhan/p/8728386.html
Copyright © 2020-2023  润新知