【Socket与HTTP连接的区别】
1. HTTP连接使用的是“请求—响应”的方式,不仅在请求时需要先建立连接,而且需要客户端向服务器发出请求后,服务器端才能回复数据。
2. socket是可以监听,因此Socket连接一旦建立,通信双方即可开始相互发送数据内容,直到双方连接断开。保持客户端与服务器数据的实时与同步。
解释一下(举个例子):
Http连接相当于发送邮件,发送方先给接收方发送一条消息,接收方接收到消息后,再进行回复
socket连接相当于打电话,只要电话一接通,二者就可以相互发送消息,直到电话挂断
Socket的使用
1. 添加internet权限
2. socket是网络通信,是耗时操作,所以一定要开辟一个新的线程
3. 在Activity中创建socket对象,并且进行连接操作
(对button1进行监听,下面代码写在onclick里面)
ip地址为自己的ip地址,端口号是自己的端口号
4. 对服务器发送消息
(对button2进行监听,下面代码写在onclick里面)
使用DataOutputSteam类,将消息发送到服务器
5. 服务器进行接收
这里使用的是eclipse建立的一个java文件进行接收
创建ServerSocket对象,等待客户端连接
6. 运行java文件,再运行Android文件
点击Android文件中的button1和button2,Server端控制台打印出:
这样就实现了Android端向server端发送消息的功能
参考:Socket简单应用