C
Curious
Hi,
I am trying to send data over the network using XmlSerialization. The
code shown below is what I am executing.
My problem is that no message is arriving in the Server method, and the
Deserialize method is blocking.
Can someone help me figure out my problem.
Thanks in Advance
public static Semaphore semaphore;
public static void Server()
{
TcpListener listener = new TcpListener(55650);
listener.Start();
Socket socket = listener.AcceptSocket();
Console.WriteLine("client connected");
NetworkStream netStream = new NetworkStream(socket);
StreamReader reader = new StreamReader(netStream);
string msg;
XmlSerializer ser = new XmlSerializer(typeof(string));
semaphore.Acquire();
Console.WriteLine("Waiting for data");
msg = (string)ser.Deserialize(reader);
Console.WriteLine(msg);
Console.WriteLine("terminate");
}
static void Main(string[] args)
{
semaphore = new Semaphore(0, 1);
Thread t = new Thread(new ThreadStart(Runner.Server));
t.Start();
TcpClient client = new TcpClient();
client.Connect("127.0.0.1", 55650);
Console.WriteLine("Connected");
NetworkStream netStream = client.GetStream();
XmlSerializer ser = new XmlSerializer(typeof(string));
StreamWriter writer = new StreamWriter(netStream);
ser.Serialize(writer, "Hello World");
Console.WriteLine("Data Sent");
semaphore.Release();
Console.ReadLine();
}
I am trying to send data over the network using XmlSerialization. The
code shown below is what I am executing.
My problem is that no message is arriving in the Server method, and the
Deserialize method is blocking.
Can someone help me figure out my problem.
Thanks in Advance
public static Semaphore semaphore;
public static void Server()
{
TcpListener listener = new TcpListener(55650);
listener.Start();
Socket socket = listener.AcceptSocket();
Console.WriteLine("client connected");
NetworkStream netStream = new NetworkStream(socket);
StreamReader reader = new StreamReader(netStream);
string msg;
XmlSerializer ser = new XmlSerializer(typeof(string));
semaphore.Acquire();
Console.WriteLine("Waiting for data");
msg = (string)ser.Deserialize(reader);
Console.WriteLine(msg);
Console.WriteLine("terminate");
}
static void Main(string[] args)
{
semaphore = new Semaphore(0, 1);
Thread t = new Thread(new ThreadStart(Runner.Server));
t.Start();
TcpClient client = new TcpClient();
client.Connect("127.0.0.1", 55650);
Console.WriteLine("Connected");
NetworkStream netStream = client.GetStream();
XmlSerializer ser = new XmlSerializer(typeof(string));
StreamWriter writer = new StreamWriter(netStream);
ser.Serialize(writer, "Hello World");
Console.WriteLine("Data Sent");
semaphore.Release();
Console.ReadLine();
}