美文网首页
socket_server

socket_server

作者: 丫丫姑娘_b55e | 来源:发表于2018-07-04 19:51 被阅读0次

    socket又叫套接字,我们把进行网络通信的一端就叫一个套接字
    socket编程,就是通过程序实现通信的两端(服务器和客户端)

    python中支持socket有三种,分别是基于TCP、UDP和IP的,叫做TCP套接字、UDP套接字和原始套接字

    基于TCP的服务器端
    1. 创建套接字对象,并且指定服务类型
      family:
      AF_INET --> ipv4
      AF_INET6 --> ipv6
      type:
      SOCK_STREAM --> TCP

       import  socket
       server = socket.socket(family=socket.AF_INET, type=socket.SOCK_STREAM)
      

    2.绑定ip地址和端口
    地址:(ip地址, 端口)
    ip地址:服务器所在的硬件的ip地址
    端口:不同端口绑定不同的服务,同一时间同一个端口只能绑定一个服务
    端口的范围0-65535,但是小于等于1024的端口叫'著名端口',
    用于绑定著名服务(比如http服务、邮件服务等),最好不要用

    server.bind(('10.7.154.82', 12346))
    
    1. 监听访问

      server.listen()
      print('开始监听....')
      

    让服务器一直运行,等待访问

        while True:
    # 当有客户端访问当前服务器后就建立连接
    connect, addr = server.accept()  # 当有一个客户端来连接当前服务器的时候才会执行
    print('=====')
    
    while True:
        # 通过会话给客户端发送消息
        # 发送的内容必须是二进制数
        """
        字符串转二进制: 字符串.encode('utf-8')
        二进制转字符串: 二进制数据.decode('utf-8')
        """
        message = input(':')
        connect.send(message.encode('utf-8'))
    
        # 接收客服端发送给服务器的消息
        data = connect.recv(1024)
        print(data.decode('utf-8'))
    
    # 关闭连接
    # connect.close()
    
    socket_客户端
        import socket
    
     1. 创建套接字对象
    client = socket.socket(family=socket.AF_INET,               type=socket.SOCK_STREAM)
    
     2. 连接服务器
    client.connect(('10.7.154.82', 12345))
    while True:
        # 3.接收服务器返回的数据
        # 1024是接收的数据的大小
    data = client.recv(1024)
    print(data.decode('utf-8'))
    
    # 4.给服务器发送数据
    message = input(':')
    client.send(message.encode('utf-8'))

    相关文章

      网友评论

          本文标题:socket_server

          本文链接:https://www.haomeiwen.com/subject/sfeyuftx.html