Use 'send()' or 'sendto()' depending on whether or not the socket is
already connected to a remote address
This commit is contained in:
		
							
								
								
									
										8
									
								
								sock.cpp
									
									
									
									
									
								
							
							
						
						
									
										8
									
								
								sock.cpp
									
									
									
									
									
								
							@@ -55,7 +55,13 @@ void Sock::sendAll(std::string to_send) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	/* For UDP sockets */
 | 
						/* For UDP sockets */
 | 
				
			||||||
	if (this->protocol == ES_UDP) {
 | 
						if (this->protocol == ES_UDP) {
 | 
				
			||||||
		if (sendto(this->sock_fd, to_send.data(), str_length, 0, (struct sockaddr *)dest, addrlen) == -1) {
 | 
						    int retval;
 | 
				
			||||||
 | 
							if (this->has_remote_address()) {
 | 
				
			||||||
 | 
					            retval = send(this->sock_fd, to_send.data(), str_length, 0);
 | 
				
			||||||
 | 
					        } else {
 | 
				
			||||||
 | 
					            retval = sendto(this->sock_fd, to_send.data(), str_length, 0, (struct sockaddr *)dest, addrlen);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        if (retval == -1) {
 | 
				
			||||||
			throw errno;
 | 
								throw errno;
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user