解决方案 »
- 求教C#调用GetVersionEx,编译通过,但返回异常,也就是0,如何解决?
- 提交后值没有写入数据库!!!!!急等 问题解决立马给分
- Dotfuscator混淆,我的老天!!!!!!!!!!!!!!!!!!!!!
- datagrid的edit&update,怎么编译总是提示错误'TextBox' is an ambiguous( 不明确的) reference
- 如何在C#中调用C++生成的lib,急求!!望各位大虾帮忙
- 大家都来呀,北京的情况怎么样?
- 没有接触过c#,请教数据库编程方面的问题~
- 请教一个问题,关于发送事件到其他窗体的(用于点其他窗体的一个确定按钮)
- c# 求正则替换表达式
- Basler相机获取的图片流转为Halcon中图片格式HImage
- 如何使用C#编写网站
- C#实现com组件要传递一个数组给外部,应该如何写?
还问个低级问题,telnet类里有个public方法,用于返回字符串.
public string recvData()
{
byte[] tempData = new byte[buffsize];
List<byte> data = new List<byte>();
int count = 0;
do
{
if (!ns.DataAvailable)
{
return "";
}
count = ns.Read(tempData, 0, tempData.Length);
data.AddRange(tempData.Take(count));
} while (count == buffsize);
return Negotiate(data.ToArray());
}
/// <summary>
/// 协商。最简单的协商:拒绝所有要求。
/// </summary>
/// <param name="data"></param>
/// <returns></returns>
string Negotiate(byte[] data)
{
List<byte> sendData = new List<byte>();
for (int i = 0; i < data.Length; i += 3)
{
if (data[i] == 255)
{
byte[] remoteData = data.Skip(i).Take(3).ToArray();
for (int j = 0; j < remoteData.Length; j++)
{
if (remoteData[j] == 253)
remoteData[j] = 252;
}
sendData.AddRange(remoteData);
}
else
{
break;
}
}
byte[] sendByte = sendData.ToArray();
ns.Write(sendByte, 0, sendByte.Length);
if (sendByte.Length == data.Length)
{
return recvData();
}
return System.Text.Encoding.Default.GetString(data.Skip(sendByte.Length).ToArray()); }我用一个string变量获取这个返回值,如:string temp= tn.recvData();
为何要么temp="",要么只获取了第一行?
大神帮帮忙.