mawinkle 6 years ago
parent
commit
f5c69011e5
2 changed files with 7 additions and 10 deletions
  1. 5 8
      socketio_posix.cpp
  2. 2 2
      test.cpp

+ 5 - 8
socketio_posix.cpp

@@ -94,12 +94,9 @@ std::vector<char> cppsocket::receive(){
 		if(val < 0){
 			throw socket_exception(strerror(errno));
 		}
-		std::cout << val << ", ";
 		stor.insert(stor.end(), buffer.begin(), buffer.begin() + std::min(val, (ssize_t)buffersize));
-		if(buffer.data()[buffersize] == (char)0){std::cout << "Breaking" << std::endl;break;}
-		else{
-			std::cout << "Continuing loop" << std::endl;
-		}
+		if(buffer.data()[buffersize] == (char)0){break;}
+
 	}
 	std::cout << std::endl;
 	return stor;
@@ -108,10 +105,10 @@ server_socket::server_socket(int _port) : port_(_port){
 	int opt = 1;
 	addrlen = sizeof(address);
 	if ((server_fd = socket(AF_INET, SOCK_STREAM, 0)) == 0) {
-		throw socket_exception("server_socket creation failed");
+		throw socket_exception(std::string("server_socket creation failed: ") + strerror(errno));
 	}
 	if (setsockopt(server_fd, SOL_SOCKET, SO_REUSEADDR | SO_REUSEPORT, &opt, sizeof(opt))) {
-		throw socket_exception("server_socket creation failed");
+		throw socket_exception(std::string("server_socket creation failed: ") + strerror(errno));
 	}
 	address.sin_family = AF_INET;
 	address.sin_addr.s_addr = INADDR_ANY;
@@ -127,7 +124,7 @@ cppsocket server_socket::accept_connection(){
 	int new_socket;
 	sockaddr client_addr;
 	if ((new_socket = accept(server_fd, (struct sockaddr *)&client_addr,(socklen_t*)&addrlen))<0){
-		throw socket_exception("Socket accept failed");
+		throw socket_exception(std::string("Socket accept failed: ") + strerror(errno));
 	}
 	return cppsocket(*((sockaddr_in*)&client_addr), new_socket);
 }

+ 2 - 2
test.cpp

@@ -23,14 +23,14 @@ std::ostream& operator<< <char>(std::ostream& out, std::vector<char> o){
 int main(){
 	cppsocket sock("192.168.178.79", 80);
 	//cppsocket sock("127.0.0.1", 80);
-	std::vector<char> toSend(1000000);
+	std::vector<char> toSend(10000);
 	for(unsigned int i = 0;i < toSend.size();i++){
 		toSend[i] = (char)(i * i);
 	}
 	std::cout << "Writing..." << std::endl;
 	//std::cout << errno << std::endl;
 	try{
-		for(int i = 0;i < 1;i++){
+		for(int i = 0;i < 100;i++){
 			sock.write(toSend);
 			std::cout << sock.receive() << std::endl;
 			//std::this_thread::sleep_for(std::chrono::milliseconds(1));