Kamis, 02 September 2010

Use NetworkStream to read and write to a server

using System;
using System.Net;
using System.Net.Sockets;
using System.Text;

class MainClass
{
public static void Main()
{
IPEndPoint ip = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 9999);

Socket server = new Socket(AddressFamily.InterNetwork,SocketType.Stream, ProtocolType.Tcp);

try
{
server.Connect(ip);
} catch (SocketException e){
Console.WriteLine(e.ToString());
return;
}

NetworkStream ns = new NetworkStream(server);

while(true)
{
byte[] data = new byte[1024];
string input = Console.ReadLine();
if (ns.CanWrite){
ns.Write(Encoding.ASCII.GetBytes(input), 0, input.Length);
ns.Flush();
}

int receivedDataLength = ns.Read(data, 0, data.Length);
string stringData = Encoding.ASCII.GetString(data, 0, receivedDataLength);
Console.WriteLine(stringData);
}

ns.Close();
server.Shutdown(SocketShutdown.Both);
server.Close();
}
}

Tidak ada komentar: