最近在调查android的一个网络连接的问题,对socket连接做了一定的了解,现随笔记录一下,以便以后查询。
·长连接和短连接
说到连接,首先要分清长连接和短连接。长连接,就是连接一次后,进行多次通信,通常通信比较频繁的,使用长连接比较多;短连接,就是连接后,进行通信一次,然后关闭连接,下次通信的时候,再开连接,通常通信不频繁的时候使用短连接。长连接和短连接的关系和TCP,UDP没有关系,不能混淆了。另外,长连接因为需要保持连接畅通,所以需要用心跳机制进行检测和维持。
·socket简介
再说到socket,对于不同编程语言,基本上都有自己的socket连接方式,现只对java的socket进行说明。
socket是网络通信中的一种常见的通信方式。它分为客户端socket和服务器端ServerSocket,一般而言,服务器端socket就像接线员一样,创建后一直处于等待接入电话的状态(声明端口后的ServerSocket,调用ServerSocket的阻塞方法accept()),客户端需要知道对方的号码(服务器端的IP和端口),然后拨号过去,双方连接确认后,就可以开始通信了。其中客户端是拨号端,只能拨一个号码,即客户端只有一个;但服务器端有可能还会收到其他电话的来电,所以可以收到不同号码的来电(暂理解为多进程处理的)。
·长连接和短连接
说到连接,首先要分清长连接和短连接。长连接,就是连接一次后,进行多次通信,通常通信比较频繁的,使用长连接比较多;短连接,就是连接后,进行通信一次,然后关闭连接,下次通信的时候,再开连接,通常通信不频繁的时候使用短连接。长连接和短连接的关系和TCP,UDP没有关系,不能混淆了。另外,长连接因为需要保持连接畅通,所以需要用心跳机制进行检测和维持。
·socket简介
再说到socket,对于不同编程语言,基本上都有自己的socket连接方式,现只对java的socket进行说明。
socket是网络通信中的一种常见的通信方式。它分为客户端socket和服务器端ServerSocket,一般而言,服务器端socket就像接线员一样,创建后一直处于等待接入电话的状态(声明端口后的ServerSocket,调用ServerSocket的阻塞方法accept()),客户端需要知道对方的号码(服务器端的IP和端口),然后拨号过去,双方连接确认后,就可以开始通信了。其中客户端是拨号端,只能拨一个号码,即客户端只有一个;但服务器端有可能还会收到其他电话的来电,所以可以收到不同号码的来电(暂理解为多进程处理的)。