标签:定位 比较 术语 cli socket tag 包含 java网络编程 一个
说起网络编程,在程序员的脑海中,一定首先浮现的是两个传输层的协议,那就是TCP和UDP协议无疑了。两者相比较,TCP又要比UDP的应用更加广泛,那是因为TCP是可靠的协议。所谓可靠,一个是说它会在client端和server端之间建立“连接”,另一个是说,在传输过程中如果出现丢包的现象,TCP会重发,然后保证数据传输最终是准确无误的。这样,在很多场景下,由于需要数据的准确传输,TCP就是比较好的选择。常见的一些应用层协议,底层用的就是TCP协议,如HTTP协议,FTP协议和TELNET协议等等。
另一个与TCP协议和UDP协议相关的术语,就是Socket,中文翻译是套接字。其实Socket这个单词的英文原意是墙上的插座。我想这里应该是一个隐喻,Socket地址通常包含两个信息,IP地址和端口。IP可以用来定位网络上的一个主机,而端口就可以定位这个主机上具体的进程(当一个进程绑定了一个端口的时候,这个端口不可以再被其他进程所绑定)。所以当网络上位于不同主机的两个进程进行通信的时候,就像墙上的两个插座一样,需要一条线来连接这两个插座,类似的,TCP协议和UDP协议就像这样虚拟的线,可以帮助连接网络上的两个进程进行信息的传输。
在Java中,有两个类,Socket和ServerSocket。这两个类可以帮助建立TCP连接;同样的,还有DatagramSocket类,DatagramPacket类来帮助发送UDP的数据包。接下来的随笔中,将会介绍如何使用Java的这些类,来构建一些小程序,展示如何进行TCP通信和UDP通信。
Java网络编程-01-TCP协议,UDP协议,Socket
标签:定位 比较 术语 cli socket tag 包含 java网络编程 一个
原文地址:https://www.cnblogs.com/ywchang/p/14399586.html