Sockets 套接字UDP一个套接字,不同的端口

Sockets 套接字UDP一个套接字,不同的端口,sockets,udp,port,hostname,Sockets,Udp,Port,Hostname,我对套接字编程是新手,所以如果这个问题是基本的,请原谅我;我到处都找不到答案 什么构成需要一个新的插座 例如,似乎可以使用同一端口上的同一套接字fd发送和接收。你能用一个插座在XXXX端口发送,在YYYY端口接收吗?如果不是,那么套接字是否特定于主机/端口组合 谢谢你的洞察力 套接字建立一个“端点”,该端点由IP地址和端口组成: 是的,单个套接字特定于单个主机/端口组合 阅读建议: Beej的网络编程指南: Unix网络编程:Stevens等人: 套接字建立一个“端点”,该端点由

我对套接字编程是新手,所以如果这个问题是基本的,请原谅我;我到处都找不到答案

什么构成需要一个新的插座

例如,似乎可以使用同一端口上的同一套接字fd发送和接收。你能用一个插座在XXXX端口发送,在YYYY端口接收吗?如果不是,那么套接字是否特定于主机/端口组合

谢谢你的洞察力

套接字建立一个“端点”,该端点由IP地址和端口组成:

是的,单个套接字特定于单个主机/端口组合

阅读建议:

Beej的网络编程指南:

Unix网络编程:Stevens等人:

套接字建立一个“端点”,该端点由IP地址和端口组成:

是的,单个套接字特定于单个主机/端口组合

阅读建议:

Beej的网络编程指南:

Unix网络编程:Stevens等人:


端口号是一个本地属性,有助于识别接收器计算机上发送给该端口的传入数据的套接字端点。每台计算机的每种协议类型(TCP或UDP)和每种系列类型(IPv4或IPv6)都有64K端口

使用UDP,可以向位于不同端口上的多个客户端发送(和从中接收)。因此,对于以下连接:

UDP_socketA (port p1) <---------> UDP socketB (port p2)
     |
     |
     |
     |
UDP socketC (port p3)
UDP_socketA(端口p1)UDP socketB(端口p2)
|
|
|
|
UDP套接字ETC(端口p3)
因此,socketA可以向socketB和SocketETC发送数据,即使它们位于不同的端口号上。它的工作方式是,对于UDP套接字,我们通常使用sendto()API,它允许我们为每个数据包指定IP地址和端口号。因此,我们可以将一个数据包发送到端口B,将下一个数据包发送到端口C等等

然而,对于TCP,情况并非如此。一旦建立了连接,比如说socketA和socketB之间,那么就没有办法了,这两个套接字中的任何一个都可以与socketB通信

TCP_socketA (port p1) <---------> TCP socket B (port p2)
         |
         |
         |
         |
    TCP socketC (port p3)
TCP_socketA(端口p1)TCP套接字B(端口p2)
|
|
|
|
TCP socketC(端口p3)

端口号是一个本地属性,有助于在接收方计算机上识别目标为该端口的传入数据的套接字端点。每台计算机的每种协议类型(TCP或UDP)和每种系列类型(IPv4或IPv6)都有64K端口

使用UDP,可以向位于不同端口上的多个客户端发送(和从中接收)。因此,对于以下连接:

UDP_socketA (port p1) <---------> UDP socketB (port p2)
     |
     |
     |
     |
UDP socketC (port p3)
UDP_socketA(端口p1)UDP socketB(端口p2)
|
|
|
|
UDP套接字ETC(端口p3)
因此,socketA可以向socketB和SocketETC发送数据,即使它们位于不同的端口号上。它的工作方式是,对于UDP套接字,我们通常使用sendto()API,它允许我们为每个数据包指定IP地址和端口号。因此,我们可以将一个数据包发送到端口B,将下一个数据包发送到端口C等等

然而,对于TCP,情况并非如此。一旦建立了连接,比如说socketA和socketB之间,那么就没有办法了,这两个套接字中的任何一个都可以与socketB通信

TCP_socketA (port p1) <---------> TCP socket B (port p2)
         |
         |
         |
         |
    TCP socketC (port p3)
TCP_socketA(端口p1)TCP套接字B(端口p2)
|
|
|
|
TCP socketC(端口p3)

Yes:一个套接字在一个端口上发送和接收;不同的套接字可以在不同的端口上发送和接收。客户机在“众所周知”的端口上连接(例如http的“80”)。一旦建立了连接,就会在一个端口上进行通信。是:一个套接字在一个端口上发送和接收数据;不同的套接字可以在不同的端口上发送和接收。客户机在“众所周知”的端口上连接(例如http的“80”)。一旦建立了连接,就会在网络上进行通信。