网络编程——Socket简单运用

前言:
在我们的IT海洋里,服务端是怎么和客户端建立连接,以及传输信息的呢?
话不多说,请往下看~

一、Socket通信流程

在这里插入图片描述
Socket是基于TPC/IP协议,属于OSI七层模型中的传输层
而websocket是基于HTTP协议,属于OSI七层模型中的应用层

下面引导大家的,就是建立简单的Socket连接

二、建立简单的Socket连接
在这里插入图片描述
上述为脑图,接下来在python中实操

服务端代码演示

# 服务端
import socket  # 导入socket模块

ip_port = ('127.0.0.1',9999)  # ip or port
# port 就是端口,也可以理解为一个进程,它的范围是在0~65535个

# 1 - 创建套接字对象
sk = socket.socket()

# 2- bind ip or port
sk.bind(ip_port)

# 3- 开启监听
sk.listen()
print('---服务已经启动---')

#4- 阻塞,等待连接   返回套接字(conn)和客户端的ip(addr)
conn,addr = sk.accept()
print('客户端地址>>>',addr)

#5- 接收数据---客户端数据
client_data = conn.recv(1024).decode('utf-8')
print('接收的客户端数据>>>',client_data)

#6- 发送数据
send_data = input('请输入>>>')
conn.sendall(send_data.encode('utf-8')) # 要求是byte类型

#7- 关闭socket
conn.close()

客户端代码演示

#客户端

import socket  # 导入socket模块

# 1 - 创建套接字对象
sk = socket.socket()
# 2- 连接服务端
sk.connect(('127.0.0.1',9999))

#3- 发送数据---客户端数据
send_data = input("请输入>>>>")
sk.sendall(send_data.encode('utf-8'))

#4- 接收数据--服务端数据
server_data = sk.recv(1024)
print('接收的客户端数据>>>',server_data)

#7- 关闭socket
sk.close()

写的略微粗糙,后续会跟进这方面的博文

希望大家要多敲、多练习

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值