Exemplo n.º 1
0
void SocketStreamTest::testEOF()
{
	StreamSocket ss;
	SocketStream str(ss);
	{
		EchoServer echoServer;

		ss.connect(SocketAddress("localhost", echoServer.port()));
		str << "hello";
		assert (str.good());
		str.flush();
		assert (str.good());
		ss.shutdownSend();

		char buffer[5];
		str.read(buffer, sizeof(buffer));
		assert (str.good());
		assert (str.gcount() == 5);
		assert (std::string(buffer, 5) == "hello");
	}
	
	int c = str.get();
	assert (c == -1);
	assert (str.eof());
	
	ss.close();
}
Exemplo n.º 2
0
void SocketStreamTest::testLargeStreamEcho()
{
	const int msgSize = 64000;
	EchoServer echoServer;
	StreamSocket ss;
	ss.connect(SocketAddress("localhost", echoServer.port()));
	SocketStream str(ss);
	ss.setSendBufferSize(msgSize);
	ss.setReceiveBufferSize(msgSize);
	std::string payload(msgSize, 'x');
	str << payload;
	assert (str.good());
	str.flush();
	assert (str.good());
	ss.shutdownSend();

	assert (str.gcount() == 0);
	char buffer[msgSize];
	str.read(buffer, sizeof(buffer));
	assert (str.good());
	assert (str.gcount() == msgSize);

	ss.close();
}