public void RecievingClients(object obj)
{
//TcpListener tp = (TcpListener)obj;
while (true)
{
Socket s;
s = TcpLogin.AcceptSocket();
s.ToString();
NetworkStream ns = new NetworkStream(s);
StreamReader sr = new StreamReader(ns);
StreamWriter sw = new StreamWriter(ns);
string _LPInfo;
_LPInfo = sr.ReadLine();
if (_LPInfo.Substring(0, 12) == "&*@[email protected]*&")
{
bool flag;
string _LP = _LPInfo.Substring(12);
string[] _LPSep;
_LPSep =_LP.Split('$');
flag = _DBObj.Login(_LPSep[0],_LPSep[1]);
if (flag == true)
{
string ip = LocalIPAddress();
sw.WriteLine("&@*IP*@&"+ip+":6090&" + _LPSep[0]);
sw.Flush();
}
else
{
sw.WriteLine("Login Failed");
sw.Flush();
}
}
else if (_LPInfo.Substring(0, 12) == "&*@[email protected]*&")
{
bool flag;
string _LP = _LPInfo.Substring(12);
string[] _LPSep;
_LPSep = _LP.Split('$');
string _SignUpQuery = "INSERT INTO SIGNUP_TABLE (USERNAME,PSWRD) Values('"+_LPSep[0]+ "','" +_LPSep[1] +"');";
flag = _DBObj.QueryHandler(_SignUpQuery);
if (flag == true)
{
sw.WriteLine("SignUp Successsfully");
sw.Flush();
}
else
{
sw.WriteLine("SignUp Failed");
sw.Flush();
}
}
這是我的大學項目。這是一個simole聊天信使,當我運行這個所有的代碼工作,但我得到了一個例外,如果條件是使用。 如果(_LPInfo.Substring(0,12)==「& @隆吉@ & 」) 這裏itcome 「 類型 'System.ArgumentOutOfRangeException' 的未處理的異常出現在mscorlib.dll發生異常我的c#項目中的參數範圍
其他信息:索引和長度必須指向字符串內的位置。「
什麼_LPInfo'當異常的'值被拋出?我猜不是12個字符。 –
'LPInfo'少於12個字符,所以'_LPInfo.Substring(0,12)'拋出一個異常。切換到'if(_LPInfo.Length> = 12 && _LPInfo.Substring(0,12)==「&@ Loginn @&」)'。 –