| 
					
				 | 
			
			
				@@ -825,14 +825,15 @@ ssize_t SocketCore::writeData(const void* data, size_t len) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   return ret; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-void SocketCore::readData(char* data, size_t& len) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+void SocketCore::readData(void* data, size_t& len) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ssize_t ret = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   wantRead_ = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   wantWrite_ = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if(!secure_) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    while((ret = recv(sockfd_, data, len, 0)) == -1 && 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // Cast for Windows recv() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    while((ret = recv(sockfd_, reinterpret_cast<char*>(data), len, 0)) == -1 && 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           SOCKET_ERRNO == A2_EINTR); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     int errNum = SOCKET_ERRNO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if(ret == -1) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1247,7 +1248,7 @@ ssize_t SocketCore::writeData(const void* data, size_t len, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   return r; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-ssize_t SocketCore::readDataFrom(char* data, size_t len, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ssize_t SocketCore::readDataFrom(void* data, size_t len, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                  std::pair<std::string /* numerichost */, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                  uint16_t /* port */>& sender) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1256,7 +1257,9 @@ ssize_t SocketCore::readDataFrom(char* data, size_t len, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   sockaddr_union sockaddr; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   socklen_t sockaddrlen = sizeof(sockaddr); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ssize_t r; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  while((r = recvfrom(sockfd_, data, len, 0, &sockaddr.sa, &sockaddrlen)) == -1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // Cast for Windows recvfrom() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  while((r = recvfrom(sockfd_, reinterpret_cast<char*>(data), len, 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      &sockaddr.sa, &sockaddrlen)) == -1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         && A2_EINTR == SOCKET_ERRNO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   int errNum = SOCKET_ERRNO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if(r == -1) { 
			 |