码迷,mamicode.com
首页 > 编程语言 > 详细

Java Socket编程----通信是这样炼成的

时间:2019-07-20 13:09:24      阅读:142      评论:0      收藏:0      [点我收藏+]

标签:tcp   技术   --   lan   物理   相关   运行   端口   直接   

Java最初是作为网络编程语言出现的,其对网络提供了高度的支持,使得客户端和服务器的沟通变成了现实,而在网络编程中,使用最多的就是Socket。像大家熟悉的QQ、MSN都使用了Socket相关的技术。下面就让我们一起揭开Socket的神秘面纱。

Socket编程
一、网络基础知识(参考计算机网络)
           关于计算机网络部分可以参考相关博客:
          《TCP/IP协议栈及OSI参考模型详解》
       1、两台计算机间进行通讯需要以下三个条件:
            IP地址、协议、端口号
       2、TCP/IP协议:
            是目前世界上应用最为广泛的协议,是以TCP和IP为基础的不同层次上多个协议的集合,也成TCP/IP协议族、或TCP/IP协议栈
            TCP:Transmission Control Protocol 传输控制协议
            IP:Internet Protocol 互联网协议
       3、TCP/IP五层模型
            应用层:HTTP、FTP、SMTP、Telnet等
            传输层:TCP/IP
            网络层:
            数据链路层:
            物理层:网线、双绞线、网卡等
       4、IP地址
            为实现网络中不同计算机之间的通信,每台计算机都必须有一个唯一的标识---IP地址。
            32位二进制
       5、端口
            区分一台主机的多个不同应用程序,端口号范围为0-65535,其中0-1023位为系统保留。
            如:HTTP:80  FTP:21 Telnet:23
            IP地址+端口号组成了所谓的Socket,Socket是网络上运行的程序之间双向通信链路的终结点,是TCP和UDP的基础
       6、Socket套接字:
            网络上具有唯一标识的IP地址和端口组合在一起才能构成唯一能识别的标识符套接字。
          Socket原理机制:
             通信的两端都有Socket
             网络通信其实就是Socket间的通信
             数据在两个Socket间通过IO传输      
       7、Java中的网络支持
             针对网络通信的不同层次,Java提供了不同的API,其提供的网络功能有四大类:
              InetAddress:用于标识网络上的硬件资源,主要是IP地址
              URL:统一资源定位符,通过URL可以直接读取或写入网络上的数据
              Sockets:使用TCP协议实现的网络通信Socket相关的类
              Datagram:使用UDP协议,将数据保存在用户数据报中,通过网络进行通信。

Java Socket编程----通信是这样炼成的

标签:tcp   技术   --   lan   物理   相关   运行   端口   直接   

原文地址:https://www.cnblogs.com/lukelook/p/11217332.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!