Linux Socket 高频面试题及详细答案.docxVIP

  • 0
  • 0
  • 约5.7千字
  • 约 8页
  • 2026-10-13 发布于河北
  • 举报

LinuxSocket高频面试题及详细答案

一、基础概念类

1、什么是Socket?Socket的本质是什么?

Socket是Linux系统中网络通信的端点接口,是操作系统提供给应用层的网络编程接口,也是进程间网络通信的唯一入口。

从本质上来说,Socket不是简单的网络端口,而是内核中的一个文件描述符。Linux一切皆文件,Socket就是一种特殊的文件,应用程序通过读写这个文件描述符,就能实现跨主机、跨进程的网络数据收发,内核会底层完成协议封装、报文传输、应答等工作。

简单总结:Socket=IP地址+端口号+通信协议,唯一标识网络中一台主机的一个进程。

2、TCPSocket和UDPSocket的核心区别?

二者是网络编程最常用的两种Socket类型,核心差异源于TCP、UDP协议特性,具体区别如下:

连接特性:TCP是面向连接的通信,通信前必须经过三次握手建立连接;UDP是无连接通信,无需建立连接,直接发送数据包。

可靠性:TCP可靠,自带确认应答、超时重传、拥塞控制、流量控制机制,保证数据不丢失、不重复、按序到达;UDP不可靠,无任何校验机制,数据包可能丢失、乱序、重复。

传输方式:TCP是字节流传输,数据无边界,流式读写,收发数据次数不对应;UDP是数据报传输,保留数据包边界,一次发送对应一次接收。

开销与

文档评论(0)

1亿VIP精品文档

相关文档