引入命名空间
System.Net.Sockets;
System.Net;
System.Threading;
服务端
启动监听的时候开启线程
Thread ServerTh = new Thread(ServerListener);
ServerTh.Start();
StreamReader sr;
StreamWriter sw;
NetworkStream NS;
void ServerListener()
{
//创建监听对象
TcpListener tl = new TcpListener(IPAddress.Parse(""), int.Parse(""));
//启动监听
tl.Start();
//创建连接的客户端
TcpClient tc = tl.AcceptTcpClient();
//获取传送的网络流,之后读写操作均是对流的操作
NS = tc.GetStream();
sr = new StreamReader(NS);
sw = new StreamWriter(NS);
try
{
while (true)
{
string con = sr.ReadLine();
if (con.Trim() != "")
{
Old_TB.Text += DateTime.Now.ToString() + "\r\n";
Old_TB.Text += "客户端说:" + con + "\r\n";
}
}
}
catch (Exception e)
{
Old_TB.Text = e.Message;
tc.Close();
}
}
发送信息时
sw = new StreamWriter(NS);
sw.WriteLine(New_TB.Text);
sw.Flush();
Old_TB.Text += DateTime.Now.ToString() + "\r\n";
Old_TB.Text += New_TB.Text + "\r\n";
New_TB.Clear();
客户端
同服务端的操作大致相同,只是不用创建监听的对象,发送和接受的均相同。
转载于:https://blog.51cto.com/freestyle/372236