xingxiaoxiao

1.socket

网络上两个程序通过一个双向的通信连接实现数据的交换
客户端发送网络请求给服务器
服务器返回数据给客户端
两端连接都是socket   通信管道
通信之前要先建立连接,也就是通信管道,通过socket建立连接


2.网络通信要素
网络请求  通过socket连接
ip找到主机
端口号是找到应用程序(进程,服务器应用程序)
传输协议(tcp udp) 建立连接的就是tcp,
tcp :建立连接,三次握手,数据不受限制,保证可靠协议,安全送达,所以效率会低一点
udp:不建立连接,因此不可靠,数据限制64k

3.实现Socket服务端监听   CocoaAsyncSocket(oc)第三框架  是对C语言的封装

4.转发消息服务
多个客户端连接到服务器
当一个客户端发送消息给服务端,服务端转发给其他客户端,比如QQ聊天(根据端口号来区别发送给那个QQ号)
相当于一个群聊的雏形


5.长连接和短连接
客户端请求数据服务端   建立连接之后,没有用,连接断开  ,减少cpu资源,短连接(http就是短连接)
实时连接。即时通讯,因为随时可能发送消息给好友,所以要保持长连接


6.socket层的协议
数据传输协议,约束

(1)http协议  
请求数据(请求头,    请求体)http传输请求格式
服务器解析数据(响应头,响应体)


(2)xmpp协议   即时通讯协议  可扩展的
  xml格式的协议  C/S架构  (客户端与服务端)通过tcp/ip连接到服务器,通过socket 建立连接 ,传输xml数据流
  B/S (浏览器和服务器)


(3)自定义即时通讯协议
   json格式协议


7.环信使用的就是xmpp协议
环信在xmpp基础上进行改造,功能更完善,更强大,进行的二次开发,不用自己再创建服务器




8.传输协议 (tcp,udp)和 数据传输协议(http,xmpp)区别

写一封信给好友
tcp、udp相当于快递方式
http、xmpp 相当于信内容的格式(中文、英文)




9.即时通讯(IM)
如果自己写的xmpp。服务器大部分都是openfire(软件,下载之后,自己电脑就是一个服务器)
使用框架 xmppFramework ,自己把数据写出来,这个框架可以封装成xml格式

分类:

技术点:

相关文章:

  • 2021-10-27
  • 2022-02-11
  • 2021-06-02
  • 2022-12-23
  • 2021-08-27
  • 2021-07-24
猜你喜欢
  • 2021-10-17
  • 2021-10-27
  • 2021-09-05
  • 2021-11-01
  • 2021-08-18
相关资源
相似解决方案