I need to use udp and tcp connections in my application,the TcpClient/TcpListener would rarely be active,but the udp one would be the main usage.
This is the server code:
static void Main(string[] args) { TcpListener listener = new TcpListener(IPAddress.Any, 25655); listener.Start(); Socket sck = listener.AcceptTcpClient().Client; UdpClient udpServer = new UdpClient(1100); IPEndPoint remoteEP = new IPEndPoint(IPAddress.Any, 0); var data = udpServer.Receive(ref remoteEP); string result = Encoding.UTF8.GetString(data); Console.WriteLine(result); Console.Read(); } And this is the Client:
static void Main(string[] args) { TcpClient client = new TcpClient("127.0.0.1", 25655); Socket sck = client.Client; UdpClient udpclient = new UdpClient(); IPEndPoint ep = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 1100); // endpoint where server is listening udpclient.Connect(ep); byte[] data = UTF8Encoding.UTF8.GetBytes("Hello"); udpclient.Send(data,data.Length); } I'm establishing the Tcp connection at first,then i'm trying to connect and send data from the client to the server. From a breakpoint i add, i can see that the Tcp part works properly,the client finishes the program but in the server,it's hangs on the receiving part var data = udpServer.Receive(ref remoteEP); like no data arrived..when i remove the tcp code part(the first 2 lines from the server and the client) it works great,shows the result message.
Does anyone know why im unable to get the data from the client?
Thanks in advance.