美文网首页iOS Developer计算机技术一锅炖
socket必须知道的一些知识点

socket必须知道的一些知识点

作者: Jason_Wong | 来源:发表于2016-08-04 15:22 被阅读569次

一.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方法读取数据

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

相关文章

  • socket必须知道的一些知识点

    一.socket知识:1.socket是为网络服务提供的一种机制.2.客户端跟服务器直接是通过socket来连接实...

  • 《python核心编程》之“网络编程”

    本文主要是使用socket模块。 模块函数socket() 要创建套接字,必须使用 socket.socket()...

  • View绘制流程之Canvas(一)

    知识点 要知道如何绘制一个View,那么我们必须知道一些关于绘制的相关知识:Canvas,Paint,Bitmap...

  • TCP/IP和Socket的关系

    要写网络程序就必须用Socket,这是程序员都知道的。而且,面试的时候,我们也会问对方会不会Socket编程?一般...

  • TCP/IP和Socket的区别

    要写网络程序就必须用Socket,这是程序员都知道的。而且,面试的时候,我们也会问对方会不会Socket编程?一般...

  • PHP的Socket编程

    对于Socket编程首先需要先了解以下几个知识点: 1、什么是TCP/IP、UDP、Http、Socket? TC...

  • [epoll 源码走读] epoll 源码实现-预备知识

    epoll 源码涉及到很多知识点:(socket)网络通信,进程调度,等待队列,socket 信号处理,VFS(虚...

  • python网络编程

    1. socket() 模块函数 ​ 要创建套接字,必须使用socket.socket()函数,它一般的用法是...

  • 2020-05-06

    网络编程知识点 socket的物理结构是什么样的? socket如何在内核空间与用户空间流转; epoll为何高效...

  • python tornado TCPserver异步协程实例

    项目所用知识点 tornado socket tcpserver 协程 异步 tornado tcpserver源...

网友评论

    本文标题:socket必须知道的一些知识点

    本文链接:https://www.haomeiwen.com/subject/dgwcsttx.html