socket基本知识点

一、socket定义

socket翻译为套接字,socket是在应用层和传输层之间的一个抽象层,它把		TCP/IP层复杂的操作抽象为几个简单的接口供应用层调用已实现进程在网络中通信。

		socket抽象层在网络中的位置

socket抽象层在网络中的位置

二、socket通信过程

在这里插入图片描述

三、socket基本通信程序

1.服务器

import socket

# 创建了一个基于ipv4,tcp协议的socket对象
server = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
server.bind(('0.0.0.0',6666))
server.listen()

# 接收客户端的连接,创建socket连接对象,并且返回客户端的连接地址信息
# 阻塞
sock,addr = server.accept()

# 接收客户端发送的数据,1024指每次接收数据的大小
data = sock.recv(1024)
# 通过sock传入的是bytes类型的数据,需要解码才能正确显示
print(data.decode())
sock.send(('hello,{}'.format(data.decode())).encode())

server.close()
sock.close()

2.客户机

import socket

client = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
client.connect(('127.0.0.1',6666))
client.send('hello world'.encode())
data = client.recv(1024)
print(data.decode())
client.close()

3.运行结果
在这里插入图片描述
在这里插入图片描述

发布了33 篇原创文章 · 获赞 0 · 访问量 943

猜你喜欢

转载自blog.csdn.net/nickyff/article/details/104512016