您的位置:首页 > 理论基础 > 计算机网络

Java网络编程:基础知识

2014-03-31 09:59 561 查看
1:所谓的Socket

所谓的Socket:本质上就是位于传输层的一个插口:socket的英文就有插座:插口的意思,所以在进行Java网络编程的时候:就像你拿这一个插头去找插座(ip地址),插座上就有许多插口,你插上你需要的插口(端口)。Socket本质上就是一个位于传输层的一个插口,即所谓的套接字。 

    eg:你可以利用ServerSocket建立TCP服务器,服务器监听指定端口。利用Socket建立客户端连接到指定服务器的指定端口后,双方通讯后就可以通过Io流进行数据传输了。同理你可以利用DatagramSocket建立UDP的发送端,和接收端。

2:网络编程的本质

网络编程:通过Socket编程实现数据通信,数据通信的本质就是数据传输。所以在建立了通讯联系之后,其他的操作就是通过IO流实现数据传输。

3:计算机网络的基础知识

(1):网络的主要功能

         实现资源共享

         信息传输与集中处理

         均衡负荷与分布处理

         综合信息服务

(2)通信协议:实现双方通讯所指定的一些规则和标准。

         组成

         语义部分:用于决定双方的对话类型

         语法部分:用于决定双方的对话格式

         变化规则:用于决定双方的应答关系

(3):OSI分层协议

                        功能                                                      层数

           


              TCP和OSI参考模型的对应关系‘

          


                      

             网络之间的通讯

                    


从图中可以知道。网络之间建立底层之间后,层与层之间的交流就是根据协议加包和拆包。

                     数据传输就是:IP+端口+协议(TCP/UDP)

             ( 1)I P:根据IP地址帮你找到网络中所对应的主机---------------->Java里面用InetAddress实现。

              (2)端口:确定主机进程的逻辑地址--------------->用一个int数字表示。

              (3)协议:传输的规则:--------------------重点:Socket():后面博客会通过TCP和UDP分开来讲。

                                      ----本文是自己的学习总结:用词和表达上可能不太准确,只是为了记录自己的想法和学习总结。有什么描述性错误,请大家指正。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息