zoukankan      html  css  js  c++  java
  • 使用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语句来查看阻塞问题

  • 相关阅读:
    vs2008 服务器控件库
    dropdoenlist 设置默认值
    .NET用HttpFileCollection实现多文件上传
    dropdownlist 绑定
    简单的webservice调用(天气预报)
    统计在线人数
    多文件上传
    dropdownlist1 绑定 value值
    WMI 脚本入门:第一部分 (MSDN)
    WMI 脚本入门:第三部分 (MSDN)
  • 原文地址:https://www.cnblogs.com/jedenzhan/p/8728386.html
Copyright © 2011-2022 走看看