美文网首页
Python 网络编程 socket编程

Python 网络编程 socket编程

作者: Fizz翊 | 来源:发表于2018-08-07 22:38 被阅读12次

socket编程

套接字:指的就是通过代码来创建实现通信的两个端 服务器端和客户端

socket一般可以基于TCP(可靠传输)和UDP(可不靠传输) 实现客户端和服务器之间的可靠传输和不可靠传输

python 中的内置模块socket可以支持socket编程

import socket

服务器端

1.创建服务器套接字对象

server = socket.socket()

family 参数确定服务类型 AF_INET -->ipv4 AF_INET6 --> IPV6

type确定传输协议类型 SOCK_STREAM --> TCP协议 SOCK_DGRAM --> UDP协议

参数都有默认值

2.绑定IP地址和端口

server.bind((ip,端口))

Address:(ip地址字符串,端口号)

端口号是用来区分一个计算机中不同的服务,范围是 0 ~ 65535

一般使用 8080端口进行测试

1.其中 0 ~ 1024是著名端口,用来绑定一些特殊服务

2.同一时间同一端口只能绑定一个服务

3.监听请求

server.listen(50)

参数用来限制一次性能够接受的客户端请求数量

保证服务器处于一直启动的状态

while True:

4.接受客户端的请求

client,addr = server.accept()

accept()会阻塞线程,当有客户端给这个服务器发送请求时,才会开始执行

5.给客户端发送信息

str1 = input('发送客户端:')
client.send(bytes(str1.encoding='utf-8'))

send(数据):数据必须是二进制数据(bytes)类型

bytes(字符串,encoding='编码方式')

字符串.encode(encoding=编码方式)

6.接受从客户端发来的消息

data = client.recv(1024)
str1 = str(data,encoding='utf-8')

recv的参数设置缓存大小 单位是字节

二进制(bytes)转换成字符串(str):

a. str(二进制数据,encoding ='utf-8')

b. data.decode(encoding = 'utf-8')

7.关闭连接

client.close()

客户端

1.创建套接字对象

client = socket.socket()

2.连接服务器

client.connect(('10.7.181.61',8080))

3.发送信息

str = input('--》》》')
client.send('安排'.encode(encoding='utf-8'))

4.接受信息

data = client.recv(1024)
print('接受到的服务器数据:',data.decode(encoding='utf-8'))

相关文章

网友评论

      本文标题:Python 网络编程 socket编程

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