socket

定义

socket:插座插口的意思,理解为套接字,用于描述IP地址和端口。可以实现不同应用间的通讯。
起源于UNIX,以一切都是文件的思想设计的,socket就是此模式下的一个实现。
网络的 Socket 数据传输是一种特殊的 I/O,Socket 也是一种文件描述符。
Socket 也具有一个类似于打开文件的函数调用:Socket(),该函数返回一个整型的 Socket 描述符,
随后的连接建立、数据传输等操作都是通过该 Socket 实现的

原理
		发送端========>接收端	
	sfd	接收端<========发送端 cfd

在 TCP/IP 协议中,“IP 地址+TCP 或 UDP 端口号”唯一标识网络通讯中的一个进程。“IP 地址+端口号”就对应一个 socket。
欲建立连接的两个进程各自有一个 socket 来标识,那么这两个 socket 组成的 socket pair 就唯一标识一个连接。因此可以用 Socket 来描述网络连接的一对一关系。
常用的 Socket 类型有两种:流式 Socket(SOCK_STREAM数据报式 Socket(SOCK_DGRAM)
流式是一种面向连接的 Socket,针对于面向连接的 TCP 服务应用;
数据报式 Socket 是一种无连接的 Socket,对应于无连接的 UDP 服务应用

网络应用程序设计
C/S 模式 client/server

传统的网络应用设计模式,客户机(client)/服务器(server)模式。需要在通讯两端各自部署客户机和服务器来完成
数据通信。
优点:客户端位于目标主机上可以保证性能,将数据缓存至客户端本地,提高数据传输效率,且一般来说客户端和服务器程序由一个开发团队创作,所以他们之间所采用的协议相对灵活。可以在标准协议的基础上根据需求裁剪及定制。例如,腾讯所采用的通信协议,即为 ftp 协议的修改剪裁版。
缺点:工作量将成倍提升,对用户主机的安全性构成威胁。

B/S 模式 browser/server

浏览器(Browser)/服务器(Server)模式。只需在一端部署服务器,而另外一端使用每台 PC 都默认配置的浏览器即可完成数据的传输。
优点:其工作开发量较小,不受平台限制。
缺点:网络应用支持受限,缓存数据不尽如人意,从而传输数据量受到限制,协议选择不灵活。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值