高手近来看看!在线等!
private void thStart(object obj)
{
Console.WriteLine( "建立分支点对点连接... ");
NetworkStream NS = (NetworkStream)obj;
SR = new StreamReader(NS);
SW = new StreamWriter(NS);
while (true)
{
if (NS.DataAvailable)
{
Console.WriteLine( "开始接受客户端命令... ");
byte[] stream = new byte[256];
NS.Read(stream, 0, stream.Length);
Console.WriteLine(System.Text.Encoding.UTF8.GetString(stream));
SW.WriteLine( "登陆成功拉 ");
SW.Flush();
string order = SR.ReadLine();
Console.WriteLine( "命令:{0} ", order);
string[] spliter = order.Split( ', ');
switch (spliter[0])
{
//用户登录
case "Login ":
Console.WriteLine( "用户试图登陆 ");
SW.Write( "Login,1 ");
break;
//读取用户列表
case "ReadUserList ":
string tempStr = "ReadUserList, ";
for (int i = 0; i < UserListTable.Count; i++)
{
tempStr += UserListTable[i];
}
SW.Write(tempStr);
break;
}
}
}
}
为什么我的string order = SR.ReadLine();
读取不到数据?而且程序卡到这不能继续执行~~
[解决办法]
NS.Read(stream, 0, stream.Length);
改用 BeginRead 和 EndRead 试试