111,126
社区成员
发帖
与我相关
我的任务
分享 public bool ReadDataChannel(Socket ConctrolSocket,Socket DataSocket)
{
string sBuffer = "";
sListBuffer = "";
while (true)
{
try
{
int iBytes = DataSocket.Receive(buffer, buffer.Length, 0);
sBuffer += Encoding.Default.GetString(buffer, 0, iBytes);
if (iBytes < buffer.Length)
{
break;
}
}
catch (Exception ex)
{
m_strError = ex.Message;
return false;
}
}
DataSocket.Close();
DataSocket = null;
sListBuffer = sBuffer;
m_strReply = "";
return GetReply(ConctrolSocket);
} while (true)
{
int iBytes = socketData.Receive(buffer, buffer.Length, 0);
output.Write(buffer, 0, iBytes);
if (iBytes <= 0)
{
break;
}
System.Threading.Thread.Sleep(50);//主要是这句
} while (true)
{
int iBytes = socketData.Receive(buffer, buffer.Length, 0);
output.Write(buffer, 0, iBytes);
if (iBytes <= 0)
{
break;
}
System.Threading.Thread.Sleep(50);//主要是这句话
}
while (true)
{
try
{
int iBytes = DataSocket.Receive(buffer, buffer.Length, 0);
sBuffer += Encoding.Default.GetString(buffer, 0, iBytes);
if (iBytes <= 0)
{
break;
}
}
catch (Exception ex)
{
m_strError = ex.Message;
return false;
}
}
while (true)
{
try
{
int iBytes = DataSocket.Receive(buffer, buffer.Length, 0);
////////////////////////////////////////
Decoder def = Encoding.Default.GetDecoder();
int charCount = def.GetCharCount(buffer, 0, buffer.Length);
Char[] chars = new Char[charCount];
sBuffer+=chars.ToString();
if (chars.Length==0)
{
break;
}
////////////////////////////////////////
}
catch (Exception ex)
{
m_strError = ex.Message;
return false;
}
}
while (true)
{
try
{
int iBytes = DataSocket.Receive(buffer, buffer.Length, 0);
sBuffer += Encoding.Default.GetString(buffer, 0, iBytes);
if (iBytes <= 0)
{
break;
}
}
catch (Exception ex)
{
m_strError = ex.Message;
return false;
}
}