一个Socket地址是由(IP地址:端口号)组成的。
对于TCP 和 UDP 来说,将传入的分组报文匹配到某个套接字的过程是一样的,可以归纳为一下几点:
1、 套接字数据结构中的本地端口号必须与传入的分组报文的目的端口号相匹配。
2、 在套接字数据结构中,任何包含了通配符(* )的字段可以匹配分组报文中的相应字段的任何值。
3、 如果有一个以上的套接字数据结构与传入的分组报文地址的四个字段匹配,那么通配符最少的获得该分组报文。
确定本地或远程的地址和端口号
对于ServerSocket ,所有构造函数都要求传入本地端口号。本地地址可能会在构造函数中指定,否则,就使用通配符( * )地址。 ServerSocket 的远程地址和端口号始终是通配符。
对于Socket ,所有构造函数都要求传入特定的远程地址和端口号。本地地址或端口号可能会在构造函数中指定,否则,本地地址就使用用来建立到服务器的连接的网络接口地址,本地端口号就随机选择一个大于 1023 的未使用端口号。
对于accept 方法返回的 Socket 实例,本地地址是从客户端发起的初始握手消息的目的地址,本地端口号是 ServerSocket 的本地端口号,远程地址和端口号则是客户端的本地地址和端口号。
对于DatagramSocket ,本地地址和端口号可能会在构造函数中指定,否则,本地地址将使用通配符地址,本地端口号则随机选择一个大于 1023 的未使用端口号,远程地址和端口号都初始化为通配符并一直保持下去,除非调用 connect 方法指定了特定的值。
欢迎关注我的微信公众号: coderbee笔记。
相关推荐
在计算机网络编程中,"多路复用IO"和"TCP并发服务器"是两个关键概念,它们对于构建高效、可扩展的网络服务至关重要。这里,我们将深入探讨这两个主题,并通过提供的文件名,我们可以推断出这是一个实践项目,旨在...
IO多路复用是指内核一旦发现进程指定的一个或者多个IO条件准备读取,它就通知该进程。IO多路复用适用如下场合: (1)当客户处理多个描述字时(一般是交互式输入和网络套接口),必须使用I/O复用。 (2)当一个客户...
本文将深入探讨如何利用IO多路复用来实现一个TCP echo服务器,该服务器运行在Linux环境下。 首先,让我们理解什么是TCP echo服务器。TCP echo服务器是一种简单的网络应用,它的主要任务是接收客户端发送的数据,并...
总的来说,TCP通信广播点播的实现依赖于IO多路复用技术和内核链表的结合。IO多路复用通过高效的事件通知机制,使得服务器能够灵活处理多个并发连接,而内核链表则提供了高效的数据组织和管理手段。这两种技术的融合...
根据具体的应用环境,分析了每个请求使用一个TCP连接的局限性,提出了一种支持TCP多路复用的网络模型,并介绍了该网络模型使用的专有网络协议。在介绍多路复用技术在网络模型的应用过程中,引入了Tunnel和Channel的...
Socket多路复用是一种在计算机网络编程中广泛使用的机制,主要应用于服务器端,它允许多个客户端连接同时处理,而无需为每个连接创建新的独立线程或进程。这种技术极大地提高了服务器的并发处理能力,降低了资源消耗...
多路复用器 tcpmux是一个 TCP 多路复用器,通过嗅探传入连接的前几个字节并将它们转发到其他服务,可以在同一端口上运行多个服务。 一旦常见用例在同一端口上同时运行 HTTP 服务器和 SSH 服务器。基准以下是我机器上...
Nginx以其卓越的性能和稳定性在Web服务器市场占据一席之地,其核心特性之一就是其对多路复用并发的支持。 **多进程模型** 在多进程模型中,服务器启动时会创建多个子进程来处理客户端请求。每个子进程都是独立的,...
Java NIO中的SocketChannel是一个连接到TCP网络套接字的通道。可以通过以下2种方式创建SocketChannel: 打开一个SocketChannel并连接到互联网上的某台服务器。 一个新连接到达ServerSocketChannel时,会创建一个...
在本主题中,我们将探讨如何实现一个多路复用IO的简单系统,以实现同时处理标准输入和TCP连接请求。 多路复用IO的核心在于一种机制,它能够监控多个文件描述符(FDs),并通知我们哪些FDs已经准备好进行读写操作。...
《gsm0710muxd多路复用源码及协议文档》是关于GSM07.10多路复用协议的重要参考资料,对于理解并应用这一通信协议有着极其关键的作用。GSM07.10是全球移动通信系统(Global System for Mobile Communications, GSM)...
【标题】"io多路复用服务器-聊天室"指的是一个使用Python编程语言构建的服务器,它基于IO多路复用技术实现,可以处理多个客户端连接请求,用于创建一个聊天室应用。IO多路复用是一种高效的服务端设计模式,通过监听...
connection-oriented 多路复用使用 TCP 协议,需要在数据传输前建立连接,而 connectionless 多路复用使用 UDP 协议,不需要建立连接。 知识点5: socket 的多路复用 在 socket 中,多路复用可以通过使用不同的...
标题“8.2.2 TCP的差错检验和多路复用1”涉及的是网络通信中的两个关键概念:TCP(传输控制协议)的错误检测机制和多路复用技术。这些概念是网络协议栈中非常重要的组成部分,尤其在确保数据可靠传输和高效利用网络...
在Windows环境下进行网络编程,Socket多路复用是一种高效处理多个连接请求的技术,它允许多个套接字(sockets)在同一时刻被监控,以便服务端能够同时处理多个客户端的连接。这种技术通常通过`select`函数来实现,...
select多路复用(tcp通信)
cmux:连接多路复用器 cmux是通用的Go库,用于根据有效负载对连接进行多路复用。 使用cmux,可以在同一TCP侦听器上提供gRPC,SSH,HTTPS,HTTP,Go RPC以及几乎所有其他协议的服务。如何只需创建您的主侦听器,为该...
一种基于多路复用的多媒体流TCP友好拥塞控制机制 一种基于多路复用的多媒体流TCP友好拥塞控制机制
### 单线程多路复用(异步通信) #### 实验目的 - 理解I/O多路复用技术的基本原理及其在服务器编程中的应用。 - 掌握基于单线程并发模型下的服务器程序设计及实现。 #### 实验环境配置 - 操作系统:Ubuntu 8.04 #...