socket编程 - 粘包现象

我们把socket称为套接字,socket是在应用层和传输层之间的一个抽象层,它把TCP/IP层复杂的操作抽象为几个简单的接口供应用层调用,已实现进程在网络中的通信。
摘要由CSDN通过智能技术生成

目录

Socket编程主要包括以下步骤:

服务端

客户端

基于TCP协议的套接字编程 

TCP服务端

TCP客服端

基于UDP协议的套接字编程

UDP服务端

UDP客户端

粘包现象


什么是socket编程

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

Socket编程主要包括以下步骤:

  1. 创建Socket对象,指定协议类型和传输方式。

  2. 绑定Socket对象到本地IP地址和端口号。

  3. 监听Socket对象,等待客户端连接。

  4. 接受客户端连接请求,建立连接。

  5. 发送数据到连接的客户端。

  6. 接受客户端发送的数据。

  7. 关闭连接。

AF_UNIX:用在局域网中,系统上的套接字地址族,是本地进程间通信的机制,使得两个进程可以在同一台计算机上通过套接字进行通信,而不需要经过网络协议栈的处理,具有较高的性能和可靠性。

AF_INET:用在互联网,用于在网络上进行进程间通信,他支持TCP和UDP协议,包含IP地址和端口号,被广泛用于网络通信和互联网应用程序中。

服务端

客户端和服务端谁先启动:一定是先启动服务端,再启动客户端

import socket

#服务器  创建socket对象
server = socket.socket() # 默认是TCP可靠协议
"""
socket.socket(socket.AF_INET, socket.SOCK_STREAM) # TCP协议
socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # udp协议
"""

# 定义服务器的IP地址和端口号
server.bind(('127.0.0.1', 8000)) # 服务器绑定一个地址 双括号表示是一个元组,而不是两个独立的参数
"""
server.bind(('0.0.0.0', 8000))'0.0.0.0'  =====> 代表允许任何的ip链接
"""

# 监听连接请求
server.listen(5) # 监听,
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值