Могу ли я отправлять и получать UDP-дейтаграммы в одном и том же сокете, я использую для связи по протоколу TCP. В приложении есть мультимедийная связь, для которой я должен использовать UDP для связи. Если я создаю новый сокет, он выбрал исключение для свойств LingerState и NoDelay. Когда я присваиваю экземпляр старого сокета другой переменной Socket, это не позволяет мне изменять свойства, так как большинство свойств читаются Only.I Отправить данные в TCP-соединенной области.Использование разных протоколов в одном приложении с использованием одного и того же сокета
* Код *
Оправа SendingSocket = новый сокет (AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp); IPEndPoint Endp = новый IPEndPoint (IPAddress.Parse («192.168.3.233»), порт);
SendingSocket.Bind (Endp);
в то время как (SendingSocket.Connected)
{ строка Message = "Тестирование сообщений Отправка по UDP"; ASCIIEncoding Encode = новое ASCIIEncoding(); byte [] MessageBytes = Encode.GetBytes (Message); SendingSocket.SendTo (MessageBytes, 0, MessageBytes.Length, SocketFlags.None, Endp); } '
TCP и UDP работают совершенно по-разному. TCP поддерживает постоянное соединение между клиентом/сервером, пока оно не будет закрыто/отключено. UDP не делает. Любое программное обеспечение, которое, как я видел, нуждается в обоих, имеет два сокета, один для TCP, а другой для UDP. – GeoffM
Я просто спрашиваю, что это требование приложения. То, что я связываю разделительно – Samie