3.网络编程-tcp的服务器简单实现

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2019/1/13 22:03
# @Author  : ChenAdong
# @email   : [email protected]


# 实现tcp服务器轮流向多个客户端服务(同时只有一个客户端接受服务)

import socket

def tcp_server():
   # 创建套接字
   socket_serve = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
   
   # 绑定端口,一般ip地址不绑定,直接给空值;并且地址是元组形式
   socket_serve.bind((" ", 8081))
   
   # 监听端口
   socket_serve.listen(3)
   
   while True:
      new_socket, client_addr = socket_serve.accept()
      # 阻塞,直到有客户端连接,多个用户连接时候,组成一个列表,下面再逐个拿出每个用户地址,创建新的套接字,进行通信
      while True:
         recv_data = new_socket.recv(1024)
         # 如果客户端关闭,会自动发送空值给服务器,可以用这个判断客户端关闭;这里当客户端关闭时候,服务器也关闭套接字
         # 无法直接发送一个空值
         if recv_data:
            new_socket.send("hello".encode("utf-8"))
         else:
            break
      new_socket.close()


if __name__ == "__main__":
   tcp_server()

  

猜你喜欢

转载自www.cnblogs.com/chenadong/p/10264905.html