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

php中文网
发布: 2016-06-07 16:32:52
原创
1276人浏览过

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"><ol><li>//创建服务器进程</li><li>ServerSocket serverSocket = new ServerSocket&#40;port&#41;;</li><li>//监听来自客户端的请求</li><li>soc = serverSocket.accept&#40;&#41;;</li><li>//构造数据输入流,用以接收数据</li><li>DataInputStream in = new DataInputStream&#40;soc.getInputStream&#40;&#41;&#41;;</li><li>//构造数据输出流,用以发送数据</li><li>DataOutputStream out = new DataOutputStream&#40;soc.getOutputStream&#40;&#41;&#41;;</li><li>//断开连接</li><li>soc.close&#40;&#41;</li></ol></p>
                    <div class="aritcle_card">
                        <a class="aritcle_card_img" href="/ai/2100">
                            <img src="https://img.php.cn/upload/ai_manual/000/000/000/175680086070100.png" alt="度加剪辑">
                        </a>
                        <div class="aritcle_card_info">
                            <a href="/ai/2100">度加剪辑</a>
                            <p>度加剪辑(原度咔剪辑),百度旗下AI创作工具</p>
                            <div class="">
                                <img src="/static/images/card_xiazai.png" alt="度加剪辑">
                                <span>380</span>
                            </div>
                        </div>
                        <a href="/ai/2100" class="aritcle_card_btn">
                            <span>查看详情</span>
                            <img src="/static/images/cardxiayige-3.png" alt="度加剪辑">
                        </a>
                    </div>
                
登录后复制

客户端进程

<p class="devcodeoverflow"><ol><li>//创建客户端Socket</li><li>Socket soc = new Socket&#40;serverHost,port&#41;;</li><li>//构造数据输入流,用以接收数据</li><li>DataInputStream in = new DataInputStream&#40;soc.getInputStream&#40;&#41;&#41;;</li><li>//构造数据输出流,用以发送数据</li><li>DataOutputStream out = new DataOutputStream&#40;soc.getOutputStream&#40;&#41;&#41;;</li><li>//断开连接</li><li>soc.close&#40;&#41;</li></ol></p>
登录后复制

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号