2019-08-14day18总结网络编程

一、socket server

#!/user/bin/env python
# -*- coding:utf-8 -*-
import socket

# 1.什么是socket编程
# socket又叫套接字,指的是实现通信的两个端;
# 这两个端又分为服务器套接字和客户端套接字

# 2.服务器套接字
# python中提供了一个socket模块来支持socket编程

# 1)创建套接字对象
# socket(family=AF_INET, type= SOCK_STREAM)
# family    - 设置ip类型;AF_INET - ipv4;AF_INET6 - ipv6
# type  - 设置数据传输方式;SOCK_STREAM  - TCP,SOCK_DGRAM    - UDP

server = socket.socket()

# 2)绑定ip和端口
# bind((ip地址, 端口号))
# ip地址  - 字符串;服务器程序运行在哪台计算机上,ip地址就写哪台计算机的ip
# 端口号   - 整型:范围是0-65535,0-1024有自己特殊服务,一般不乱用

server.bind(('10.7.181.120', 1029))

# 3)等待连接,设置同时能接收的请求数
server.listen(95)

# 4)让服务器保持运行状态
while True:
    # 5)接收请求
    # 注意:当程序执行到accept()的时候,会停下来直到有客户端给当前服务器发送请求位置
    connect, address = server.accept()
    print(connect, address)
    while True:
        # 6)接收客户端发送的数据
        # recv(数据大小)  - 接收数据并且一次性能够接收的最大数据
        recv_data = connect.recv(1024)
        # 补充:二进制转字符串
        # 二进制.decode()
        # str(二进制对象, )
        print('客户端:', recv_data.decode(encoding='utf-8'))
        # print('接收:', str(recv_data, encoding='utf-8'))

        # 7)给客户端发送数据
        # send(数据)  数据的类型必须是bytes
        send_message = input('服务器:')
        connect.send(send_message.encode())


# 8)关闭连接
# connect.close()

二、socket client

#!/user/bin/env python
# -*- coding:utf-8 -*-

import socket

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

# 2.发送请求
# connect((ip地址, 端口号))
client.connect(('10.7.181.120', 1029))

while True:
    # 3.发送消息
    send_massage = input('客户端:')
    if send_massage:

        client.send(send_massage.encode())

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

    elif send_massage == exit:
        break


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

推荐阅读更多精彩内容