最灵活的通信方式还是Socket ,TcpClient和Tcplistener只是对Socket进行了一些包装,从而使他们使用起来更简单一些
给出同步的服务器端
static void Main(string[] args)
{
Socket server = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); server.Bind(new IPEndPoint(IPAddress.Any, ));//指定监听的端口和ip server.Listen(); //开始监听 Socket client = server.Accept(); //接受连接进来的socket对象 NetworkStream ns = new NetworkStream(client); //使用网络流对象进行数据读取 StreamReader sr = new StreamReader(ns); string str= sr.ReadToEnd(); //读取数据 ns.Close();
sr.Close();
client.Close();
server.Close(); }
给出个同步的客户端
static void Main(string[] args)
{
Socket client = new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp); client.Connect(new IPEndPoint(IPAddress.Parse("127.0.0.1"),)); //指定要连接的服务器 byte[] buffer= System.Text.Encoding.Default.GetBytes("this message from client"); client.Send(buffer); //发送指定的流数据 client.Close();
}