Networking Tcp套接字中的Udp包

Networking Tcp套接字中的Udp包,networking,tcp,udp,Networking,Tcp,Udp,如果我们在Tcp套接字中发送Udp包呢?包是否丢失了?我认为包丢失是因为tcp需要首先建立连接。这根本不可能 如果某个程序将TCP包发送到打开的套接字,它不会将一段数据放入某个接收器中。它生成具有正确特征的TCP包,并将其交给操作系统的网络堆栈 如果它生成了一个具有其他特征的UDP包,并将其交给网络堆栈,则将发送一个UDP包。生成的包与任何状态下的任何巧合TCP连接无关 你的问题似乎是受到了错误想象的启发,即打开一个插座意味着建立一条到另一个端点的直接电线,并保留电线的一端以将一些数据输入。事实

如果我们在Tcp套接字中发送Udp包呢?包是否丢失了?我认为包丢失是因为tcp需要首先建立连接。

这根本不可能

如果某个程序将TCP包发送到打开的套接字,它不会将一段数据放入某个接收器中。它生成具有正确特征的TCP包,并将其交给操作系统的网络堆栈

如果它生成了一个具有其他特征的UDP包,并将其交给网络堆栈,则将发送一个UDP包。生成的包与任何状态下的任何巧合TCP连接无关

你的问题似乎是受到了错误想象的启发,即打开一个插座意味着建立一条到另一个端点的直接电线,并保留电线的一端以将一些数据输入。事实并非如此


因此,TCP套接字中根本没有这样的一端,您可以在其中放入UDP包。

UDP端口和TCP端口完全不同:UDP数据包根本不可能在TCP端口上结束,无论它们是否具有相同的编号。