首页 > 试题广场 >

下列关于网络编程的描述中,错误的是?

[单选题]
下列关于网络编程的描述中,错误的是?
  • 一个 Socket 可以绑定多个网卡
  • 客户端和服务器端都可以主动关闭 Socket
  • Socket 支持阻塞模式和非阻塞模式
  • TCP 和 UDP 协议不能绑定同一端口
数据包传递过程:
在网络层IP数据包向上传递的时候会查看数据包中的协议类型
如果协议类型是TCP,则交给TCP
如果协议类型是UDP,则交给UDP
到了传输层,再根据端口号将数据传送到应用层相应的应用程序,TCP、UDP端口是独立的
所以D是错的
实际上当TCP和UDP提供相同的服务时,会选用相同的端口号(应该是为了方便吧)

说明:图片截自TCP/IP协议详解
发表于 2016-08-19 15:20:53 回复(0)
补充下关于第一个选项,bind绑定操作可以试用参数INADDR_ANY,其具体含义是,绑定到0.0.0.0。此时,对所有的地址都将是有效的,如果系统考虑冗余,采用多个网卡的话,那么使用此种bind,将在所有网卡上进行绑定。在这种情况下,你可以收到发送到所有有效地址上数据包。 因此A选项是可以的
发表于 2017-03-15 16:37:29 回复(0)
TCP、UDP可以绑定同一端口来进行通信。
类似于文件描述符,每个端口都拥有一个叫端口号(port   number)的整数型标识符,用于区别不同端口。由于TCP/IP传输层的两个协议TCP和UDP是完全独立的两个软件模块,因此各自的端口号也相互独立,如TCP有一个255号端口,UDP也可以有一个255号端口,二者并不冲突。 
参考:http://nigelzeng.iteye.com/blog/1209538
发表于 2016-08-19 11:44:47 回复(1)
由于TCP/IP传输层的两个协议TCP和UDP是完全独立的两个软件模块,因此各自的端口号也相互独立,如TCP有一个255号端口,UDP也可以有一个255号端口,二者并不冲突。
发表于 2019-03-06 13:22:16 回复(0)
DNS协议端口号为53,可以基于UDP或TCP实现。
发表于 2016-09-09 17:33:15 回复(0)
UDP和TCP的端口相对独立
编辑于 2016-08-19 09:30:40 回复(2)

TCP和UDP是两个独立的协议,它们分别使用不同的端口号来标识和区分不同的应用程序或服务。TCP和UDP协议在传输层中都有自己的端口号空间,并且这两个空间之间没有任何冲突。

TCP和UDP协议使用的端口号都是16位的整数(0~65535),其中0~1023被保留用于系统级别的服务,如HTTP、FTP等,因此通常建议开发者在选择端口号时避免使用这些保留端口号。因此,TCP可以有一组独立的端口号,而UDP也可以有一组独立的端口号。两个协议使用相同的端口号并不会导致冲突。

发表于 2023-11-03 14:56:56 回复(0)
区分在ip数据包的协议字段. 6表示TCP 17表示UDP
发表于 2018-03-01 12:04:42 回复(0)
萌头像
同一端口指的是同一端口号,tcp和udp的端口号相同但代表的实际端口不同。
发表于 2016-08-19 11:14:44 回复(0)
一个socket可以绑定多个网卡
客户端和服务器端都可以主动关闭socket
socket支持阻塞模式和非阻塞模式
Tcp和UDP协议可绑定同一端口
发表于 2017-08-02 22:44:16 回复(0)
第一个选项正确,套接字可以用bind()绑定INADDR_ANY
发表于 2016-09-15 11:26:49 回复(0)
五元组(源IP,源端口,目的IP,目的端口,协议)
发表于 2020-08-03 12:13:50 回复(0)
由于TCP/IP传输层的两个协议TCP和UDP是完全独立的两个软件模块,因此各自的端口号也相互独立,如TCP有一个255号端口,UDP也可以有一个255号端口,二者并不冲突。
发表于 2016-09-22 09:19:45 回复(0)