我正在编写一个库来简化我在未来项目中的网络编程。我希望它强大而高效,因为这将出现在我未来的几乎所有项目中。(顺便说一句,服务器和客户端都将使用我的库,所以我没有在我的问题中假设协议)我正在编写一个函数,用于从网络流中接收字符串,其中我使用 31 个字节的缓冲区和一个用于哨兵。sentinel 值将指示哪个字节(如果有)是 EOF。这是我的代码供您使用或审查...
public string getString()
{
string returnme = "";
while (true)
{
int[] buff = new int[32];
for (int i = 0; i < 32; i++)
{
buff[i] = ns.ReadByte();
}
if (buff[31] > 31) { /*throw some error*/}
for (int i = 0; i < buff[31]; i++)
{
returnme += (char)buff[i];
}
if (buff[31] != 31)
{
break;
}
}
return returnme;
}
编辑:这是完成我正在做的事情的最佳方式(高效、实用等)吗?