socket(二):搭建server服务器端的基本步骤

# -*- coding:utf-8 -*-
'''
TCP协议
socket 服务器端

'''

import socket

#1.创建套接字实例
sock = socket.socket(socket.AF_INET,socket.SOCK_STREAM) #创建socket实例
    #第一个参数,socket family:
        #1.socket.AF_INET    ipv4协议
        #2.socket.AF_INET6   ipv6协议
        #3.socket.AF_UNIX    unix系统间数据进行传输的套接字
    #第二个参数,socket 类型
        #1.socket.SOCK_STREAM   TCP协议的socket
        #2.socket.SOCK_DGRAM    UDP协议的socket

#2.绑定套接字
sock.bind(("",8000))
    #参数为双元素元组
        #第一个元素是IP地址,如果写空字符串代表本机所有的ip
        #第二个元素是端口号。计算机常用的端口号:0-65535,前1000个是系统预留的我们不要用,如
            #mysql数据库的端口号是3306,Apache是80

#3.监听
sock.listen(5)
    #监听队列的最大长度

#4.接收
content,address = sock.accept()
    #content 用来接受请求用户的消息和发送对该请求用户的消息,是一条专属于服务与这个客户的连接,每个客户都不同2。
    #address 请求用户的身份,IP和端口port,(ip,port)的一个元组
print("%s : %s 已经连接"%address)

content.send("吃了吗") #send发送的必须是字符串
print(content.recv(512))  #recv 接受用户发来的信息,512指每次最多接受512个字节,多余部分
                          #还需要继续调用content.recv()接受剩下的

#5.关闭连接
sock.close()

猜你喜欢

转载自blog.csdn.net/a_lazy_zhu/article/details/80193089