java网络编程:7、端口、套接字(socket)的引入

版权声明:本文为博主原创文章,不得随意转载,转载请注明出处!!! https://blog.csdn.net/YuDBL/article/details/85873833

声明:本教程不收取任何费用,欢迎转载,尊重作者劳动成果,不得用于商业用途,侵权必究!!!

一、端口

1、端口是一种抽象的软件结构(包括一些数据结构和I/O缓冲区)。应用程序通过系统调用与某端口建立连接(binding)后(也就是我们通常所说的,应用程序绑定到某个端口),传输层传给该端口的数据都被相应的进程所接收,相应进程发给传输层的数据都通过该端口输出。

2、端口用一个整数型标识符来表示,即端口号。端口号跟协议相关,TCP/IP传输层的两个协议TCP和UDP是完全独立的两个软件模块,因此各自的端口号也相互独立,端口通常称为协议端口(protocol port),简称端口。

3、端口使用一个16位的数字来表示(也就是2个字节),它的范围是0~65535,1024以下的端口号保留给预定义的服务。例如:http使用80端口。

我们在编写网络应用程序的时候,那么我们去使用1024以上的端口号。

二、套接字(socket)的引入

1、为了能够方便的开发网络应用软件,由美国伯克利大学在Unix上推出了一种应用程序访问通信协议的操作系统调用socket(套接字)。socket的出现,使程序员可以很方便地访问TCP/IP,从而开发各种网络应用的程序。

2、随着Unix的应用推广,套接字在编写网络软件中得到了极大的普及。后来,套接字又被引进了Windows等操作系统中。Java语言也引入了套接字编程模型。

猜你喜欢

转载自blog.csdn.net/YuDBL/article/details/85873833