C++ソケットの読み取りをどのようにループしますか。
stringstream ss;
while (1) {
char buf [2];
ssize_t e = read(fd, buf, 2);
ss << buf[0];
ss << buf[1];
cout << e << endl;
cout << buf[0] << endl;
cout << buf[1] << endl;
if (e <= 0) {
break;
}
}
string msg = "";
ss >> msg;
telnetでhelloと入力してから、これをテストするために入力すると、次のようになります。
2
h
e
2
l
l
2
o
1
そして、それはただそこで待機し、ループしません。何が起こっているのですか、そしてどのようにソケットを読み取るのですか?
を使用してEOFを表すにはどうすればよいですか
telnet
write(fd、buf、bufSize);のコンテキストでのbuf。