Socket
1、
Socket
又称"套接字"
。
2、网络上的两个程序通过一个双向的通信连接实现数据的交换
,这个连接的一端称为一个socket
。
3、应用程序通常通过"套接字"向网络发出请求或者应答网络请求。
网络通信的要素
- 网络上的
请求
就是通过Socket
来建立连接然后互相通信。- IP地址(网络上主机设备的
唯一标识
)。- 端口号(
定位程序
)。
1> 用于标示进程的逻辑地址,不同进程的标示。
2> 有效端口:0~65535
,其中0~1024由系统使用
或者保留端口
,开发中建议使用1024以上的端口
。- 传输协议(用什么样的方式进行交互)。
1> 通讯的规则。
2> 常见协议:TCP、UDP。
-
TCP
&UDP
- TCP
(传输控制协议)
1> 建立连接
,形成传输数据的通道
。
2> 在连接中进行大数据传输(数据不受限制)
。
3> 通过三次握手
完成连接,是可靠协议,安全送达
。
4> 必须建立连接,效率会稍低
。
- UDP
(用户数据报协议)
1> 将数据及源和目的
封装成数据包中,不需要建立连接。
2> 每个数据报的大小限制在64K之内
。
3> 因为无需连接,因此是不可靠协议。
4> 不需要建立连接,速度快。
- 1.HTTP
底层
就是通过socket
建立连接通信管道
,实现数据传输
。- 2.HTTP是一个
TCP的传输协议(方式)
,它是一个可靠,安全的协议
。
- 实现
Socket服务端
监听
- 实现
socket的监听
方法
1.使用C语言实现。
2.使用CocoaAsyncSocket(OC)
第三方框,内部是对C的封装。- Telnet命令:
$ telnet host port/telnet 192.168.10.10 5288
1.telnet命令是连接服务器上的某个端口对应的服务
。
-
Socket
层上的协议
Socket
层上的协议指的数据传输的格式
。
-HTTP
协议
传输格式:假设:这是假设,实际http的格式不是这样的。
http1.1,content-type
:multipart/form-data,content-length
:188,body
:username=zhangsan&password=123456XMPP
协议,是一款即时通讯协议
。
可扩展消息处理现场协议)是基于可扩展标记语言(XML)的协议,它用于即时消息(IM)以及在线现场探测。这个协议可能最终允许因特网用户向因特网上的其他任何人发送即时消息。
-
传输格式
:
<from>zhangsan<from>
<to>lisi<to>
<body>一起吃晚上</body>
- 自定义
即时通讯协议
,json
格式:
{
“from”:”zhangsan”,
”to”:”lisi”,
”body”:”中午一起吃饭”
}
即时通讯
即时通讯
,又称实时通讯
。即时通信
(Instant Messaging
,简称IM
)是一个实时通信
系统,允许两人或多人使用网络实时的传递文字消息、文件、语音与视频交流即时通讯在开发中使用的场景。
a.开发一个类型于微信,QQ,易信的聊天软件
.
b.在电商APP集成买家与卖家的实时沟通等
.当前时下,实现即时通讯的方案。
a.XMPP
.
b.环信
.XMPP
是什么?
1.
XMPP
:The Extensible Messaging and Presence Protocol
(可扩展通讯和表示协议
)。
2.XMPP
是一种基于XML
的即时通讯协议
,XMPP的官方文档是RFC 3920
这个文档定义了登录,退出,获取好友,发送消息等等的XML数据传输协议
3.XMPP是一个典型的C/S
架构,基本的网络形式是客户端通过TCP/IP连接到服务器
,通过Socket建立连接
,然后在之上传输XML流
。
4.XMPP是一种类似于HTTP
协议的一种数据传输协议
,其过程就如同“解包装-->包装”
的过程。只需要理解其接收的类型及返回的类型,便可以很好的利用XMPP来进行数据通讯
.
5.XMPP官方网站
——http://xmpp.org
.
- XMPP实现即时通信的准备工作
- 下载
Openfire服务器
。- 下载
XMPPFramework
框架。
更新中...