美文网首页
python网络编程基础

python网络编程基础

作者: Dxes | 来源:发表于2019-11-29 23:22 被阅读0次
1.socket编程

socket又叫套接字
socket编程其实就是用代码来实现进行网络通讯的两个端;套接字就是实现通信的两个程序
实现通信的两个端分为服务器和客户端两种

python通过socket模块来提供socket编程相关的类和方法;其中socket类就是套接字对应的类

2.服务器端的实现

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()

2)绑定ip和端口(插电话线)
bind((ip,端口号))
ip地址:找到互联网中唯一的一台计算机;赋值ip对应的字符串
端口:区分同一台计算机中不同的服务(程序):
赋整数,值的范围是0-65535,其中0~1024属于著名了端口,不能随便使用
同一时间一个端口只能对应一个服务

服务器练习
server= socket()

sever.bind(("10.7.156.64", 10012))

# 3)开始监听(等电话)
sever.listen(512)

# 4)保证服务器一直运行
while True:
    print("开始监听……")
    # 接收客户端请求(接电话),返回为这个客户端创建的独立的套接字对象(分机)和客户端的地址
    # 当程序运行到这行代码的啥时候会停下来,知道有请求为止
    connect, address = sever.accept()
    print(connect, type(connect))
    print(address)

    # 6)接收消息(听别人说话)
    # recv(一次性能够接收的数据的大小)   - 返回接收到的数据,数据类型是二进制
    recv_data = connect.recv(1024)
    print(recv_data.decode(encoding='utf-8'))

    # 7)发送消息(说话给别人听)
    # send(需要发送的数据)
    connect.send('HTTP/1.1 200 OK\r\n\r\n你好!'.encode())

    # 8)关闭连接(挂电话)
    connect.close()
客户端练习
from socket import socket

# 1.客户端套接字
# 1)创建套接字对象(买电话)
client = socket()

# 2)连接服务器(拨号)
client.connect(('10.7.156.64',10011))

# 3)发送消息哦
client.send('服务器你好!'.encode())

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


# 关闭连接
client.close()

相关文章

网友评论

      本文标题:python网络编程基础

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