day16总结2

套接字

import socket
from socket import*


'''
进行通信的两个端就是套接字,两个类型:分别是 服务器套接字 和 客户端套接字


'''

# 1. 创建套接字对象(买电话机)
'''
family  --- 设置ip协议类型,默认是:AF_INET(ipv4) / AF_INET6 (ipv6)
type  --- 设置传输协议类型,SOCK_STREAM(TCP) ,SOCK_DGRAM(UDP)
'''
server = socket(family=AF_INET, type=SOCK_STREAM)

# 2. 绑定ip地址和端口(接电话线)
'''
bind((ip地址,端口))

IP地址  -- 字符串,服务器对应的ip地址

端口号  --- int,端口号是用来区分一台电脑上的不同的服务  0-65535,0-1024是著名端口,一般不选著名端口
            同一时间一个端口只能绑定一个服务

'''

addr = ('10.7.185.64', 8002)

server.bind(addr)


# 3. 开始监听请求(按电池,等电话)

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

# 4. 让服务器保持运行

while True:
    # 5.接收请求(接电话) 代码运行到这个位置,会停下来,等到有客户端给服务器发送请求位置

    connect,addr = server.accept()
    print('连接成功')
    # 6. 接收消息(听别人说)
    '''
    recv(bufsize)  ---bufsize 设置一次性能够接收的数据大小的最大值 单位字节
                        返回的数据类型是字节
    '''
    while True:
        re_data = connect.recv(1024)
        print(re_data.decode(encoding='utf-8'))

        # 7. 发送消息(说给别人听)
        message = input('请输入:')
        connect.send(message.encode())

    #   8. 关闭连接(挂电话)
    # connect.close()
from socket import *

client = socket()
# 创建套接字对象

# 2.连接服务器

client.connect(('10.7.185.63', 9002))
while True:
    # 3. 发送消息
    message = input('请输入:')
    client.send(message.encode())

    # 4. 接收消息
    re_data = client.recv(1024)
    print(re_data.decode(encoding='utf-8'))

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容