在使用相同套接字的相同应用程序中使用不同的协议
本文关键字:协议 套接字 应用程序 | 更新日期: 2023-09-27 18:18:35
我可以在同一个套接字上发送和接收UDP数据报,我使用TCP通信。在我的应用程序中存在多媒体通信,我必须使用UDP进行通信。如果我创建一个新的套接字,它抛出了一个异常的属性LingerState和NoDelay。当我将旧套接字实例分配给其他套接字变量时,它不允许我更改属性,因为大多数属性都是只读的。我必须在TCP连接区域发送数据。
代码* *
套接字SendingSocket =新的套接字(AddressFamily。互联网络,SocketType。Dgram ProtocolType.Udp);
IPAddress.Parse("192.168.3.233"), port);SendingSocket.Bind (Endp);
, (SendingSocket.Connected)
{字符串消息="测试通过UDP发送消息";Encode = new ASCIIEncoding();byte[] MessageBytes = Encode.GetBytes(Message);SendingSocket。SendTo(MessageBytes, 0, MessageBytes.)长度,SocketFlags。没有,Endp);} '
很难从代码片段中看出,但可能您不需要SendingSocket.Bind(Endp)
,因为您的SendingSocket.SendTo
也包括IP端点。也可以试试
SendingSocket.SendTo(MessageBytes, Endp);
No。TCP和UDP不能同时使用同一个套接字。一个套接字只能绑定到一个协议