work with single address v_0
authorFrantišek Kučera <franta-hg@frantovo.cz>
Sat, 06 Aug 2022 01:05:44 +0200
branchv_0
changeset 16 63bb2c2038c7
parent 15 290c58261df9
child 17 b9dcb7aa75e1
work with single address
src/Socket.cpp
--- a/src/Socket.cpp	Sat Aug 06 00:54:03 2022 +0200
+++ b/src/Socket.cpp	Sat Aug 06 01:05:44 2022 +0200
@@ -131,16 +131,16 @@
 			socketType,
 			protocol);
 
-	return std::shared_ptr<SocketClass>(new SocketClass(remoteAddresses));
+	return std::shared_ptr<SocketClass>(new SocketClass(remoteAddresses[0]));
 }
 
 class UDPClientSocket : public Socket {
 private:
-	AddressInfos remoteAddresses;
+	AddressInfos::AddressInfo remoteAddress;
 
 public:
 
-	UDPClientSocket(AddressInfos remoteAddresses) : remoteAddresses(remoteAddresses) {
+	UDPClientSocket(AddressInfos::AddressInfo remoteAddress) : remoteAddress(remoteAddress) {
 	}
 
 	static std::shared_ptr<Socket> open(const SocketOptions& options) {
@@ -149,7 +149,7 @@
 	}
 
 	void send(const std::string& message) override {
-		auto ai = remoteAddresses[0].ai;
+		auto ai = remoteAddress.ai;
 		FD s(::socket(AF_INET, ai->ai_socktype, ai->ai_protocol));
 		sendto(s.getFD(), message.c_str(), message.size(), 0, ai->ai_addr, ai->ai_addrlen);
 	}
@@ -163,11 +163,11 @@
 
 class TCPClientSocket : public Socket {
 private:
-	AddressInfos remoteAddresses;
+	AddressInfos::AddressInfo remoteAddress;
 
 public:
 
-	TCPClientSocket(AddressInfos remoteAddresses) : remoteAddresses(remoteAddresses) {
+	TCPClientSocket(AddressInfos::AddressInfo remoteAddress) : remoteAddress(remoteAddress) {
 	}
 
 	static std::shared_ptr<Socket> open(const SocketOptions& options) {
@@ -175,7 +175,7 @@
 	}
 
 	void send(const std::string& message) override {
-		auto ai = remoteAddresses[0].ai;
+		auto ai = remoteAddress.ai;
 		FD s(::socket(ai->ai_family, ai->ai_socktype, ai->ai_protocol));
 		check(::connect(s.getFD(), ai->ai_addr, ai->ai_addrlen), "connect socket");
 		ssize_t written = ::write(s.getFD(), message.c_str(), message.size());