socket必须知道的一些知识点

一.socket知识:
1.socket是为网络服务提供的一种机制.
2.客户端跟服务器直接是通过socket来连接实现的
3.网络通信其实就是socket间通信
4.数据再两个Socket间通过IO传输 (IO就是输入输出流)
5.socket要知道服务器的ip和端口才能连接 (网站端口默认是80)
6.浏览器也是通过socket来连接服务器的,并且要知道ip和端口

二.输入输出流:
1.客户端跟服务器三次握手后建立长连接 (连接要素:socket, ip, 端口)
2.一旦建立连接,双方就会形成通道,也就是输入输出流 (即IO流),双方会死盯着输入流看有没数据进来,因为双方随时有可能会发送数据过来
3.输入流是读数据的,输出流是写数据的 (形象例子:嘴巴说话耳朵接收)

三.短链接
1.http请求跟服务器直接是短连接的,一次性的.服务器一旦返回数据给http,就会自动断开连接!而即时通讯是长连接的,要经常接收数据和返回数据

四.服务器
1.两个客户端之间,服务器是中转站,服务器接收到张三的数据再把数据返回给李四,而不是张三直接发数据给李四
2.服务器就是提供资源和数据给客户端访问的机器
3.比如漫游信息,就是保存在服务器的
4.服务器的输出流也就是客户端的输入流
5.张三的发的消息通过输出流传给服务器,服务器通过输入流接收,服务器再通过输出流传给李四,李四通过输入流接收!
5.服务器安装到本机的话,它的ip地址就是localhost

五.GCDAsyncSocket (异步socket网络请求)
1.xmpp开发常用的,是对c语言的封装,直接面向对象.
2.用法:
(1)先导入.h文件
(2)创建GCDAsyncSocket对象
(3)让控制器成为代理并且遵守代理协议
(4)加入到全局队列
(5)建立连接
(6)代理方法监听是否连接到主机
(7)GCDAsyncSocket对象发数据给服务器
(8)代理监听数据是否成功发送给了服务器
(9)调用GCDAsyncSocket方法读取数据

如果上面的文章对您在以后的开发中能派上用场,请关注或点个喜欢吧,我会不定期的给您分享或推荐一些好的文章哦_

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 11,090评论 6 13
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,841评论 18 139
  • 大家好,我是徐爱卿。博客地址:flutterall.com 引言 Android网络编程一直都是我想记录的一篇文章...
    徐爱卿阅读 45,452评论 52 219
  • 上回说到行走江湖靠眼力!可是眼力不是每个人,或者说大多数人都没有!咋办? 行走江湖靠运气! 九十年代末期我们烟台有...
    顽爸的腔调阅读 1,092评论 0 1
  • (2017-03-17-周五 03:46:04) 为提高刷新,建议导出SB前在TheBrain删除类型.类型链接大...
    菜五阅读 110评论 0 0