1、what's Socket?
* Socket是网络通信的一种接口,基于不同的协议有不同的Socket;
例如: TCP协议的Socket
UDP协议的Socket;
蓝牙协议的Socket;
* Socket 在计算机行业中称为:套接字,用于描述IP地址和端口,是通信链的句柄;
端口:计算机拥有端口,每一个端口都可以有一个应用程序来进行通讯的使用;
端口范围:0-256*256-1;
例如: 80端口 对应 HTTP 协议使用端口;
21端口 对应FTP 协议端口;
* 用途:应用程序通过套接字,像网络发送请求或者应答网络的请求;
* 用法:发送请求的时候Socket分成了两部分:
一部分:服务器端的Socket:主要接受来自网络的请求,一直监听在某一个端口上;
二部分:客户端的Socket , 这个Socket主要用来向网络发送数据;
2、UDP协议 和 TCP 协议:
* 简介:二者都是互联网使用最广泛的协议,基于IP的协议;
* 特点:
UDP:不靠谱,无连接,效率高;
TCP:靠谱,有连接,效率低;
3、Socket 通讯流程:选择UDP/TCP 中的一种协议发送数据-->通过“通信信道”(IP的基础网络)
->服务器端(用什么协议发送的那么则用什么协议接收);
4、Socket与ServerSocket:
* 过程介绍:Socket是TCP/IP协议上的一种通信,在通信的两端各建立一个Socket,从
而在通信的两端之间形成了网络虚拟链路。一旦建立虚拟的网络链路,两端的程序就可以通过虚拟链路进行
通信;
5、温馨提示:设计到网络资源的访问,必须在AndoridManifest.xml中设置网络访问权限;
<uses-permission android:name="android.permission.INTERNET"/>
6、ServerSocket 创建TCP服务器端:代码如下:
public static void main(String[] args)throws Exception{
/* 获取一个ServerSocket,用于监听客户端Socket的请求,端口:20000 */
ServerSocket server = new ServerSocket(20000);
System.out.println("等待请求...");
/* 服务器有多个客户端请求,则需要不断的接收请求 */
while(true){
/* 接收到客户端Socket的请求,做出响应 ,也产生一个Socket*/
Socket socket = server.accept();
/* 响应客户端返回的数据 */
String message = "Today , NICE";
/* 获得可写流 */
OutputStream os = socket.getOutputStream();
/* 写数据, 并指定字符编码格式为:UTF-8 */
os.write(message.getBytes("UTF-8"));
os.close();
socket.close();
System.out.println("一次请求完成");
}
}
7、Socket 创建客户端:java代码如下:
/* 客户端,请求服务器 */
public void accept_serverSocket(){
try{
/* 获取Socket 对象,指定IP , 以及端口 */
Socket socket = new Socket("192.168.16.16",20000);
/* 将Socket对应的流封装为缓冲流 */
BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String message = br.readLine();
/* 显示 */
Toast.makeText(MainActivity.this, message, 1000).show();
br.close();
socket.close();
}catch(Exception ex){
}
}
分享到:
相关推荐
为了优化网络通信,有时我们会选择使用UNIX域套接字(UNIX Domain Socket,简称UDS)来代替传统的TCP/IP套接字进行进程间通信(IPC)。本篇将详细讲解如何在Java环境下,利用UNIX域套接字连接并操作Redis,以及涉及...
在Android开发中,套接字(Socket)是网络通信的核心组件,它允许应用程序通过网络发送和接收数据。本文将深入探讨Android中Socket的使用方法,以及如何结合Mars视频教程来提升你的技能。 首先,理解Socket的基本...
Socket,也被称为套接字,是网络编程中的一个抽象接口,它允许应用程序通过网络发送和接收数据。在TCP/IP模型中,Socket是应用层与传输层的桥梁,它封装了IP地址和端口号,使得不同设备上的进程能够相互通信。 在...
Socket,又称套接字,是一种网络编程接口,允许应用程序通过网络与其他设备上的应用程序进行数据交换。本篇将深入探讨Socket的基本概念、通信模型以及如何在Android平台上使用TCP和UDP协议进行Socket编程。 1. **...
Socket,通常称为套接字,是网络通信中的编程接口,允许不同计算机上的进程间进行双向通信。在Android中,我们可以使用java.net.Socket类来创建客户端Socket,而服务器端则使用ServerSocket监听并接受连接请求。 ...
Socket,也称为套接字,是网络通信中的一个抽象概念,它为进程间的通信提供了一种标准的方法。在网络环境中,Socket就像是两个应用之间的通信端口,使得数据能在不同设备间传输。 在Android中,我们通常使用`java...
"android网络套接字.zip"这个文件可能包含了一个关于如何在Android应用中使用Java的网络套接字(Sockets)进行通信的项目或教程。下面将详细探讨Android中基于Java的网络套接字编程。 Java网络套接字是Java提供的...
在Linux系统中,Socket通信流程与Android类似,但涉及更多底层细节,如套接字地址结构、套接字选项和错误处理。以下是基本步骤: 1. 打开套接字:调用`socket()`函数创建一个套接字,指定协议类型(如SOCK_STREAM...
1. **监听Socket**:在Linux服务器端,使用`socket()`函数创建一个套接字,`bind()`绑定到指定的IP和端口,然后`listen()`开始监听连接请求。 2. **接受连接**:当收到Android客户端的连接请求时,`accept()`函数会...
Socket,也被称为套接字,是网络编程的基本组件,允许两个网络连接端点进行数据交换。在Android中,Socket可以作为IPC的一种方式,尤其是在需要跨设备或跨应用通信时。 **Socket基础** 1. **Socket概念**:Socket...
Socket,也称为“套接字”,是网络通信的一种基础工具,它提供了进程间或者网络间进程的通信机制。本篇将详细介绍如何在Android客户端和服务器端通过Socket实现长连接,以及客户端之间的消息传递。 首先,我们需要...
在本教程中,我们将探索如何在30分钟内创建一个基于Socket套接字的小型即时通信(IM)Demo。这个项目涵盖了Android客户端和服务器端的实现,为初学者提供了一个快速入门即时通信技术的平台。我们将深入理解Socket...
在Android开发中,套接字(Socket)是网络通信的核心组件,它允许应用程序通过网络发送和接收数据。本文将深入探讨“AndroidSocketSample”项目,一个用于演示如何在Android平台上使用Java套接字进行网络通信的示例...
Socket,也被称作套接字,是网络编程中的基本概念,它提供了进程间通过网络进行双向通信的能力。 首先,我们需要理解Socket的工作原理。Socket基于TCP/IP协议栈,它允许两个网络应用之间建立连接并交换数据。在安卓...
这通常涉及到使用ServerSocket类来创建一个监听套接字: ```java ServerSocket serverSocket = new ServerSocket(12345); Socket clientSocket = serverSocket.accept(); ``` 一旦连接建立,双方就可以通过输入...
总的来说,Android通过Socket实现TCP通信涉及到了网络编程的基本概念,包括套接字连接、数据流读写以及线程同步等问题。通过这样的实践,开发者可以更好地理解和运用网络通信技术,为开发更复杂的网络应用打下坚实...
`ServerSocket`创建一个监听套接字,等待客户端的连接。当连接建立后,通过`accept()`方法获取一个新的`Socket`对象,然后与客户端进行通信。 在Android模拟器上,我们可以使用像Soket.io这样的工具来模拟服务端,...
Socket,又称套接字,是网络通信的基本单位,提供了进程间、网络间进程通信的一种接口。本示例可能是一个关于如何实现和管理Socket长连接的代码演示。 在TCP/IP协议族中,Socket分为两种类型:短连接(Short-lived ...
Socket,也被称为套接字,是网络编程中的一个接口,它允许应用程序通过TCP/IP协议在互联网上进行通信。在Android中,我们可以使用java.net.Socket类来创建和管理Socket连接。 在"Android-Socket登录实例"中,我们将...