本文目录一览

1,android Socket连接 与 http连接有什么区别

通信协议不同,Socket可以建立长连接

android Socket连接 与 http连接有什么区别

2,如何成功创建一个Socket连接包括UDP和TCP

dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd

如何成功创建一个Socket连接包括UDP和TCP

3,HTTP与socket在手机连接网络有何不同

socket又称套接字,是面对连接的通讯方式,就是说你是确定的对象然后发送的通讯消息 http是非面向连接的通讯方式,消息发送给很多人,当然,也包括了你想发送的终点的那个对象

HTTP与socket在手机连接网络有何不同

4,什么情况下使用socket

socket用于在两个基于tcp/ip协议的应用程序之间相互通信,两个基本概念:客户方和服务方。当两个应用之间需要采用SOCKET通信时,首先需要在两个应用之间(可能位于同一台机器,也可能位于不同的机器)建立SOCKET连接,发起呼叫连接请求的一方为客户方,接受呼叫连接请求的一方成为服务方。客户方和服务方是相对的,同一个应用可以是客户方,也可以是服务方。
unix domain socket是利用了socket接口来实现本地进程通过socket来实现通信。

5,如何判断客户端SOCKET已经断开连接

你可以根据服务器收到的数据的长度来判断,如果服务器收到的数据长度是0,那么意味着你的客户端程序已经断开了连接。从TCP/IP协议栈的角度来说,就是客户端程序关闭了自己写的这一半连接,向服务器发出了一个FIN。这涉及到TCP的状态迁移,关于这方面的知识,建议你看一下Richard Stevens先生的《TCP/IP 详解》卷一和《Unix网络编程》卷一,上面有详细的解释。关于你的第二个问题,建议你仔细看一下自己的服务器程序代码。服务器程序首先要建立一个监听socket,当有客户端连接上来时,服务器会在一个新socket上接受客户端连接。所以并不存在“乱”的问题。关于这个问题同样推荐你看上面的两本关于网络编程的经典著作。
1.当recv返回值为0是表示对方已经正常(msdn说是完美的)的断开连接.2.当recv返回socket_error时,说明对方已经断开连接,但是可能是非正常断开(断网或者客户端进程结束).

6,socket句柄是什么意思

网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket。Socket的英文原义是“孔”或“插座”。作为BSD UNIX的进程通信机制,取后一种意思。通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,可以用来实现不同虚拟机或不同计算机之间的通信。在Internet上的主机一般运行了多个服务软件,同时提供几种服务。每种服务都打开一个Socket,并绑定到一个端口上,不同的端口对应于不同的服务。Socket正如其英文原意那样,像一个多孔插座。一台主机犹如布满各种插座的房间,每个插座有一个编号,有的插座提供220伏交流电, 有的提供110伏交流电,有的则提供有线电视节目。 客户软件将插头插到不同编号的插座,就可以得到不同的服务。
fd 是(file descriptor),这种一般是bsd socket的用法,用在unix/linux系统上。在unix/linux系统下,一个socket句柄,可以看做是一个文件,在socket上收发数据,相当于对一个文件进行读写,所以一个socket句柄,通常也用表示文件句柄的fd来表示。

文章TAG:socket  android  http  socket连接  android  Socket连接    http连接有什么区别  
下一篇