当前位置: 首页 > HadoopJava > 深入解析MapReduce架构设计与实现原理–读书笔记(7)hadoop 网络编程

深入解析MapReduce架构设计与实现原理–读书笔记(7)hadoop 网络编程

Java网络编程建立在TCP/IP协议基础上,致力于实现应用层。传输层向应用层提供了套接字Socket接口,它封装了下层的数据传输细节;应用层的程序通过Socket与远程主机建立连接和进行数据传输。

TCP

TCP是Tranfer Control Protocol的 简称,是一种面向连接的保证可靠传输的协议。通过TCP协议传输,得到的是一个顺序的无差错的数据流。发送方和接收方的成对的两个socket之间必须建 立连接,以便在TCP协议的基础上进行通信,当一个socket(通常都是server socket)等待建立连接时,另一个socket可以要求进行连接,一旦这两个socket连接起来,它们就可以进行双向数据传输,双方都可以进行发送 或接收操作。

UDP

UDP是User Datagram Protocol的简称,是一种无连接的协议,每个数据报都是一个独立的信息,包括完整的源地址或目的地址,它在网络上以任何可能的路径传往目的地,因此能否到达目的地,到达目的地的时间以及内容的正确性都是不能被保证的。

比较

UDP

1.每个数据报中都给出了完整的地址信息,因此无需要建立发送方和接收方的连接。
2.UDP传输数据时是有大小限制的,每个被传输的数据报必须限定在64KB之内。
3.UDP是一个不可靠的协议,发送方所发送的数据报并不一定以相同的次序到达接收方。

TCP

1.面向连接的协议,在socket之间进行数据传输之前必然要建立连接,所以在TCP中需要连接时间。
2.TCP传输数据大小限制,一旦连接建立起来,双方的socket就可以按统一的格式传输大的数据。
3.TCP是一个可靠的协议,它确保接收方完全正确地获取发送方所发送的全部数据。

Socket

java.net.Socket,java.netServerSocket建立在TCP协议基础上。
java.net.DatagramSocket建立在UDP协议基础上。

服务器进程

 Java |  复制 |? 
01
02
//创建服务器进程
03
ServerSocket serverSocket = new ServerSocket(port);
04
//监听来自客户端的请求
05
soc = serverSocket.accept();
06
//构造数据输入流,用以接收数据
07
DataInputStream in = new DataInputStream(soc.getInputStream());
08
//构造数据输出流,用以发送数据
09
DataOutputStream out = new DataOutputStream(soc.getOutputStream());
10
//断开连接
11
soc.close()
12

客户端进程

 Java |  复制 |? 
01
02
//创建客户端Socket
03
Socket soc = new Socket(serverHost,port);
04
//构造数据输入流,用以接收数据
05
DataInputStream in = new DataInputStream(soc.getInputStream());
06
//构造数据输出流,用以发送数据
07
DataOutputStream out = new DataOutputStream(soc.getOutputStream());
08
//断开连接
09
soc.close()
10



本文固定链接: http://anyoneking.com/archives/731 | 懒散狂徒的博客
标签: , , , , , , , , , , ,

【上一篇】
【下一篇】

报歉!评论已关闭.