day18-网络编程

day18-网络编程

1.什么是socket

socket又叫套接字,指的是实现网络通信的两端

2.服务器套接字

(1)创建套接字对象

server = socket()

socket(fimily = AF_INET, type = SOCK_STREAM)

family —— 设置ip类型,AF_INET —— ipv4

type —— 设置传输协议类型;SOCK_STREAM —— TCP传输协议;SOCK_DGRAM — UDP传输协议

(2)绑定ip和端口

bind(address) —— 绑定地址

address —— 元组,(ip地址,端口)

ip地址 —— 通过ip地址可以确定互联网中唯一的一台计算机(字符串)

端口 —— 端口是用来区分同一台计算机的不同服务(数字),范围是065535;其中01024是著名端口,不能随便使用

(3)开始监听,同时设置最大客户端个数(设置同时在线人数)

server.listen(100)

(4)让服务器一直处于启动状态(使用循环while)
(5)接收请求

返回建立的连接和客户端的地址

注意:当代码执行到这儿的时候,程序会停下来,直到所有客户段端给当前服务器发送请求为止

(6)接收客户端发送的消息

recv(一次性能接收的最大值) —— 返回值是接收到的数据,类型是二进制(bytes)

二进制数据转字符串:str(二进制数据,encoding=‘utf-8’); 二进制.decode(encoding='utf-8')

(7)发送消息

send(发送数据) —— 发送数据的类型是二进制

字符串转二进制数据:bytes(字符串,编码方法); 字符串.encode()

(8)关闭连接

3.客户端套接字

(1)创建套接字对象

client = socket()

(2)连接服务器

client.connect((服务器ip,服务器端口))

(3)发送消息
(4)接收消息
(5)关闭连接

你可能感兴趣的:(day18-网络编程)