Socket编程

++目的++ 开发采用套接字通信的C/S网络应用程序。

socket1.套接字是一个主机本地应用程序所创建的,为操作系统所控制的接口("门") .

**2.应用进程通过这个接口,使用传输层提供的服务,跨网络发送(/接收)报文到(/**从)其他应用进程。

Socket API
n 1981 提出于 BSD4.1 UNIX,
n 网络应用程序明确的创建 , 使用及释放套接字
n client/server 模式
n 通过 Socket API, 提供传输层的 2 类传输服务 :
¨ 不可靠的数据报传输
¨ 可靠的字节流传输
1. TCP进行套接字编程
n ++Socket:++ 应用进程和传输层协议 (UCP or TCP) 之间的门。
n ++TCP++ ++服务++ ++:++ 1 个进程到另 1个进程的字节流的可靠传输。
Socket 是从 UNIX 的 I/O 命令集发展而来的。Socket为上层实体提供一种透明的访问网络的能力,本质上说是传输层的服务原语。 TCP 中的套接字系统调用

客户必须初始联系服务器
n 服务器进程必须先运行
n 服务器进程必须创建套接字 ( ) 来迎候客户的初始联系

客户如何初始联系服务器
n 创建客户本地 TCP socket
n 指定服务器进程的 IP 地址 , 端口号
n 一旦客户创建套接字 , 客户 TCP 就发起 3 次握手并建立与服务器 TCP 的连接
n
n 一旦客户初始联系 ( 敲门 ) 服务器 , 服务器 TCP 为服务器进程创建 1 个新的 socket 与客户进程通信
¨ 允许服务器与多个客户通信
¨ 源端口号被用来区分客户

从应用程序的角度来看

TCP为客户和服务器提供了

可靠的***,顺序的,***字节流的

传输***("管道")***

相关推荐
syseptember9 分钟前
Linux网络基础
linux·网络·arm开发
Exquisite.3 小时前
企业高性能web服务器(4)
运维·服务器·前端·网络·mysql
qq_411262425 小时前
用 ESP32-C3 直接连 Starlink 路由器/热点并完成配网
网络·智能路由器
LucDelton6 小时前
Java 读取无限量文件读取的思路
java·运维·网络
Wasim4047 小时前
【渗透测试】SQL注入
网络·数据库·sql
..过云雨8 小时前
五种IO模型与非阻塞IO
网络·网络协议·tcp/ip
源远流长jerry8 小时前
dpdk之kni处理dns案例
linux·网络·网络协议·ubuntu·ip
玉梅小洋9 小时前
iperf 网络性能测试完整指南(含多服务端测试)
网络·测试工具·性能测试·iperf
Danileaf_Guo9 小时前
我们的WireGuard管理系统支持手机电脑了!全平台终端配置,支持扫码连接,一键搞定
网络
犀思云9 小时前
构建全球化多云网格:FusionWAN NaaS 在高可用基础设施中的工程实践
运维·网络·人工智能·系统架构·机器人