zoukankan      html  css  js  c++  java
  • TCL服务器端

     1 import socket
     2 
     3 
     4 def main():
     5     # 创建套接字对象
     6     tcp_server_socket = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
     7 
     8     # 绑定端口
     9     tcp_server_socket.bind(("192.168.199.88",7788))
    10 
    11     # 把套接字变成被动
    12     tcp_server_socket.listen(128)
    13 
    14     # 循环目的:等待新客户端 为多个客户端服务
    15     while True:
    16         print("等待一个新的客户端访问:")
    17         # 分发新的套接字服务客户端
    18         new_client_socket,client_addr = tcp_server_socket.accept()
    19 
    20         print("一个新的客户端到来:%s" % str(client_addr))  # 因为client_addr是一个元祖 所以要转换成字符串
    21 
    22         # 此时堵塞
    23         # 循环目的:为同一个客户端服务多次
    24         while True:
    25             # 接收客户端发来的请求
    26             recv_data = new_client_socket.recv(1024)
    27             print("客户端发来请求:%s" % recv_data.decode("gbk"))
    28 
    29             # 如果recv堵塞,那么有2种方式:
    30             # 1.客户端发来数据
    31             # 2.客户端调用close导致了recv街堵塞
    32             if recv_data:
    33                 # 向客户端发送信息
    34                 new_client_socket.send("你是谁".encode("gbk"))
    35             else:
    36                 break
    37 
    38         # 关闭套接字
    39         new_client_socket.close()
    40         print("这次服务完毕。。。。")
    41 
    42     # 如果将监听套接字关闭了,那么会导致 不能再次等待新客户的到来,即xxxx.accept就会失败
    43     tcp_server_socket.close()
    44 
    45 
    46 if __name__ == '__main__':
    47     main()
  • 相关阅读:
    沙漠之王(0/1分数规划+ 最小生成树)
    野餐规划(最小生成树性质)⭐
    走廊泼水节(最小生成树定理)⭐
    兄弟选择器+否定伪类
    子元素的伪类
    属性选择器
    伪元素
    伪类选择器
    Java连接Mysql由于版本更新报错
    Mac下安装SQL
  • 原文地址:https://www.cnblogs.com/yifengs/p/11375900.html
Copyright © 2011-2022 走看看