Chgtaxihe's blog Chgtaxihe's blog
首页
练习
算法学习
读书笔记
小玩意

Chgtaxihe

首页
练习
算法学习
读书笔记
小玩意
  • ThinkingInJava

  • 深入理解Java虚拟机

  • UNIX网络编程卷1

    • Unix网络编程卷1-问题汇总
      • 协议
        • XTI与Sockets
        • SCTP
        • TCP握手时,为什么需要协商序号(而不是从0开始?)
        • TCP TIME_WAIT
        • 为何要丢弃ICMP?
        • 路径MTU的应用
        • 内核为任意一个监听套接字维护2个队列
        • 当发送服务器FIN且得到ACK后,客户端仍可向socket中write数据?
        • TCP 低水位标记
        • 带外数据
        • 能不能手动发送一个FIN,使得TCP成为“单向”通道并保持?
        • TCP缓冲区大小与“带宽-延迟积”的关系(长胖管道?)
        • UDP没有发送缓冲区?
        • SO_REUSEADDR 的应用场景
        • 若创建了在IPV6上监听socket,则无需在同一端口上创建IPV4的socket?
      • C++
        • 将socketaddr_in强制转换为socketaddr
        • C中返回char指针的函数,其数据保存在哪里?
      • Linux
        • fork后,文件描述符由2个进程共同持有?那close会如何?
        • errno == EINTR
        • select在EINTR后自动重启,计时器归零还是保持之前的状态?
        • select中的fd_set只有1024位,那是不是意味着使用select的进程最多只能同时处理1024个fd?
        • 更进一步的,fork以后fd不变,是不是意味着fd是系统级的(一个fd值在整个系统只能一个)
        • select每次返回,fd_set中只会有一个bit被置1吗
        • getaddrinfo返回的链表,内存是怎么分配的?又是怎么删除的?

Unix网络编程卷1-问题汇总

# 协议

# XTI与Sockets

XTI与Socket都是进行网络通信通信的接口

XTI (X/Open Transport Interface) 是一个协议无关的通信接口

Sockets(Berkeley sockets)

参考:https://en.wikipedia.org/wiki/X/Open_Transport_Interface

# SCTP

# TCP握手时,为什么需要协商序号(而不是从0开始?)

# TCP TIME_WAIT

为何是主动关闭连接的一方进入TimeWait

# 为何要丢弃ICMP?

# 路径MTU的应用

# 内核为任意一个监听套接字维护2个队列

# 当发送服务器FIN且得到ACK后,客户端仍可向socket中write数据?

# TCP 低水位标记

只影响select,不影响write/read?

# 带外数据

# 能不能手动发送一个FIN,使得TCP成为“单向”通道并保持?

# TCP缓冲区大小与“带宽-延迟积”的关系(长胖管道?)

# UDP没有发送缓冲区?

# SO_REUSEADDR 的应用场景

# 若创建了在IPV6上监听socket,则无需在同一端口上创建IPV4的socket?

UNP P250

# C++

# 将socketaddr_in强制转换为socketaddr

在C++中定义struct,内部属性在内存中的顺序严格按照定义时的顺序吗

# C中返回char指针的函数,其数据保存在哪里?

(可重入函数/不可重入函数)

# Linux

# fork后,文件描述符由2个进程共同持有?那close会如何?

每个文件/socket都有引用计数

# errno == EINTR

为什么不能异步/并行处理中断?非得打断系统调用。。

# select在EINTR后自动重启,计时器归零还是保持之前的状态?

# select中的fd_set只有1024位,那是不是意味着使用select的进程最多只能同时处理1024个fd?

# 更进一步的,fork以后fd不变,是不是意味着fd是系统级的(一个fd值在整个系统只能一个)

# select每次返回,fd_set中只会有一个bit被置1吗

# getaddrinfo返回的链表,内存是怎么分配的?又是怎么删除的?

通过malloc,因此需要调用freeaddrinfo

上次更新: 2021/03/27, 23:40:59
深入理解Java虚拟机

← 深入理解Java虚拟机

最近更新
01
深入理解Java虚拟机
03-04
02
DNS工作原理
02-27
03
改用VuePress啦
02-23
更多文章>
Theme by Vdoing | Copyright © 2019-2021
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式