향후 프로젝트에서 네트워크 프로그래밍을 단순화하기 위해 라이브러리를 작성하고 있습니다. 앞으로도 거의 모든 프로젝트에서이 기능을 사용할 수 있기 때문에 강력하고 효율적 이길 원합니다. (BTW 서버와 클라이언트 둘 다 내 라이브러리를 사용하므로 내 질문에 프로토콜을 가정하지 않습니다) 나는 31 바이트의 버퍼와 하나의 센티널을 사용하는 네트워크 스트림에서 문자열을 수신하는 함수를 작성하고 있습니다. 센티널 값은 EOF가있는 경우 어떤 바이트인지 나타냅니다. 여기에 귀하의 사용 또는 조사에 대한 내 코드 ...C# Network Stream getString 메서드
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;
}
편집의 :가요 (효율적이고 실용적인 등) 최고의 내가 뭘하는지 수행하는이.
질문이 없으므로 자세한 정보를 제공해주십시오. – user854301
바이트가 아닌 31 개의 정수를 사용하고 있습니다. 또한 .. 귀하의 질문은 무엇입니까? –