Heim > Datenbank > MySQL-Tutorial > Hauptteil

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

WBOY
Freigeben: 2016-06-07 16:32:52
Original
1077 Leute haben es durchsucht

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

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协议基础上。

服务器进程

<p class="devcodeoverflow"></p><ol>
<li>//创建服务器进程</li>
<li>ServerSocket serverSocket = new ServerSocket(port);</li>
<li>//监听来自客户端的请求</li>
<li>soc = serverSocket.accept();</li>
<li>//构造数据输入流,用以接收数据</li>
<li>DataInputStream in = new DataInputStream(soc.getInputStream());</li>
<li>//构造数据输出流,用以发送数据</li>
<li>DataOutputStream out = new DataOutputStream(soc.getOutputStream());</li>
<li>//断开连接</li>
<li>soc.close()</li>
</ol>
Nach dem Login kopieren

客户端进程

<p class="devcodeoverflow"></p><ol>
<li>//创建客户端Socket</li>
<li>Socket soc = new Socket(serverHost,port);</li>
<li>//构造数据输入流,用以接收数据</li>
<li>DataInputStream in = new DataInputStream(soc.getInputStream());</li>
<li>//构造数据输出流,用以发送数据</li>
<li>DataOutputStream out = new DataOutputStream(soc.getOutputStream());</li>
<li>//断开连接</li>
<li>soc.close()</li>
</ol>
Nach dem Login kopieren
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage