它不能同时进行
socketForClinet = tcpListener.AcceptSocket()怎么办?
客户端与服务器连接成功后就等于两端建立了一个联系的通道.stream可以说就是这样的一个通道,不是你所说的"发送Stream给客户端".比如你跟我通电话.我拨你的电话,你接了(也就相当于我连接你的电话成功),之后我们两个人就可以沟通了.我把我的名字告诉你(相当于发密文给你确认身份),确认后你才说话.也就是说你要跟我说话不需要再打电话给我,用原来的连接就可以了.
老大:你还是帮我看看代码吧:
private TcpListener tcpListener=new TcpListener(1234);
private void Listen()
{
tcpListener.Start();
socketForClinet = tcpListener.AcceptSocket();
try
{
if (socketForClinet.Connected)
{
while (true)
{
sl = true;
networkStream = new NetworkStream(socketForClinet);
streamReader = new StreamReader(networkStream);
string ss=streamReader.ReadLine();
//验证密文
if (ss !="888")
{
socketForClinet.Close();
return;
}
socketForClinet.Send(ms.GetBuffer());//合法用户可以传送数据了
//关闭连接
socketForClinet.Close();
tcpListener.Stop();
//继续传下一个文件:
Thread SecThread = new Thread(new ThreadStart(Listen));
SecThread.IsBackground = true;
SecThread.Start();
}
}
}
catch(Exception ey)
{
MessageBox.Show(ey.ToString());
}
}