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为客户和服务器提供了

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

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

相关推荐
大丈夫立于天地间8 小时前
ISIS协议中的数据库同步
运维·网络·信息与通信
Dream Algorithm8 小时前
路由器的 WAN(广域网)口 和 LAN(局域网)口
网络·智能路由器
IT猿手8 小时前
基于CNN-LSTM的深度Q网络(Deep Q-Network,DQN)求解移动机器人路径规划,MATLAB代码
网络·cnn·lstm
吴盐煮_8 小时前
使用UDP建立连接,会存在什么问题?
网络·网络协议·udp
hyshhhh9 小时前
【算法岗面试题】深度学习中如何防止过拟合?
网络·人工智能·深度学习·神经网络·算法·计算机视觉
Hellc00710 小时前
轮询、WebSocket 和 SSE:实时通信技术全面指南(含C#实现)
网络
xujiangyan_10 小时前
nginx的反向代理和负载均衡
服务器·网络·nginx
GalaxyPokemon10 小时前
Muduo网络库实现 [十] - EventLoopThreadPool模块
linux·服务器·网络·c++
忆源11 小时前
SOME/IP-SD -- 协议英文原文讲解9(ERROR处理)
网络·网络协议·tcp/ip