计算机网络中客户端侧远端服务器Socket Address相关问题咨询
客户端侧远端Socket Address的定义
客户端侧的远端Socket Address就是你主动发起连接的目标服务器的Socket地址,由你在客户端发起连接请求时主动指定,不由操作系统自动生成。
核心组成与使用逻辑
- 它和所有标准Socket Address结构一致,由服务器的IP地址 + 服务器对应服务监听的端口号两部分组成
- 你在客户端代码中调用
connect()系统调用发起TCP连接时,就需要把这个远端地址作为参数传入内核 - 如果后续需要在客户端侧查询已建立连接对应的远端地址,也可以通过
getpeername()系统调用从当前Socket句柄中直接读取
面向TCP连接的场景下,两端Socket地址的对应逻辑可以统一梳理为:
- 任意一端的本地Socket Address:都是本机IP + 本机当前连接使用的端口,默认由OS在连接建立阶段自动分配,也可以手动调用
bind()提前指定(客户端场景通常不需要手动绑定)- 任意一端的远端Socket Address:都是对端设备的IP + 对端对应服务的端口,被动接收连接的服务器侧可以在
accept()调用时从内核获取该值,主动发起连接的客户端侧则是发起请求前就已经确定的入参
内容的提问来源于stack exchange,提问作者J K
相关产品推荐
相关产品推荐

