Day18总结-2019/08/14

套接字socket

socket又叫套接字,指的是实现通信的两个端;这两个端又分为服务器套接字和客户端套接字。

1.服务器套接字

1)创建套接字对象(买电话机)
socket(family=AF_INET, type=SOCK_STREAM)。
family - 设置ip类型;AF_INET - ipv4; AF_INET6 - ipv6。
type - 设置数据的传输方式;SOCK_STREAM - TCP, SOCK_DGRAM - UDP。
2)绑定ip和端口(插电话线)
bind((ip地址,端口号))

ip地址 - 字符串;服务器程序运行在哪台计算机上,ip地址就写哪台计算机的ip。
端口号 - 整型;范围是0-65535.其中0-1024是著名端口,有自己特殊的意义一般不随便用。
3)等待连接并且设置同时能够接收的请求数量

server.listen(50)

5)接收请求
注意:当程序执行到accept()的时候,会停下来直到有客户端给当前服务器发送请求为止

connect, address = server.accept()

6)接收客户端发送的数据

recv(数据大小) - 接收数据并且设置一次性能狗接收最大数据
补充:二进制转字符串
二进制对象.decode(encoding='utf-8')
str(二进制对象,encoding='utf-8')

recv_data = connect.recv(1024)
 print('接收:', str(recv_data, encoding='utf-8'))

7)给客户端发送数据

send(数据) - 发送数据,数据的类型必须是bytes

send_data = input('服务器:')
connect.send(send_data.encode())

8)关闭连接

connect.close()

2.客户端

1.创建套接字对象

client = socket.socket()

2.发送请求

connect((ip地址, 端口号))

3.发送消息

send_message = input('客户端:')
client.send(send_message.encode())

4.接收消息

re_data = client.recv(1024)
print('接收:', re_data.decode(encoding='utf-8'))

5.关闭

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

推荐阅读更多精彩内容

  • 网络编程 一.楔子 你现在已经学会了写python代码,假如你写了两个python文件a.py和b.py,分别去运...
    go以恒阅读 2,167评论 0 6
  • 第一章 TCP/IP简介 基本的C/S服务模型 网络编程是指编写的网络通信程序可以与网络上的其他程序进行通信。 T...
    Waldo_cuit阅读 1,943评论 0 6
  • socket通信原理 socket又被叫做套接字,它就像连接到两端的插座孔一样,通过建立管道,将两个不同的进程之间...
    jiodg45阅读 1,190评论 0 1
  • 今天是高考第二天,记得去年今日,我还是那个发着烧,拉着稀,喝着药,去直面我人生中第一个重要的考试的青涩女孩。 果...
    假一如一阅读 799评论 1 2
  • 01 阿布是洛洛奇女巫收养的人类小孩,这是女巫告诉她的,她从小就和女巫生活在森林里。 可是阿布自己不这样认为,因为...
    不万能阅读 2,790评论 2 21