• 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()
  • 相关阅读:
    2017沈阳站 Tree
    P2146 [NOI2015]软件包管理器
    hdu3307 欧拉函数
    poj 3126 Prime Path bfs
    CSL的字符串
    P1045 麦森数
    洛谷 P1338 末日的传说
    树链剖分
    SQL[Err] ORA-00933: SQL command not properly ended
    Postman 快速入门之脚本
  • 原文地址:https://www.cnblogs.com/yifengs/p/11375900.html
Copyright © 2020-2023  润新知