public short initialize(final String config_path, Object config)
	{
		MsgDumperCmnDef.WriteDebugSyslog(__FILE__(), __LINE__(), "Initialize the MsgDumperRemote object......");

//Parse the config file first
		short ret = parse_config(config_path, "remote");
		if (MsgDumperCmnDef.CheckMsgDumperFailure(ret))
			return ret;

		String[] server_ip_array = server_list.split(","); 
		int server_port_no = Integer.parseInt(server_port);
		for(int i = 0 ; i < server_ip_array.length ; i++)
		{
			RemoteServerCfg remote_server_cfg = new RemoteServerCfg(server_ip_array[i]);
			MsgDumperCmnDef.WriteDebugFormatSyslog(__FILE__(), __LINE__(), "Try to connect to the server: %s......", server_ip_array[i]);

			try 
			{
// establish socket connection to server
				remote_server_cfg.sockfd = new Socket(server_ip_array[i], server_port_no);
				remote_server_cfg.sockout = new BufferedOutputStream(remote_server_cfg.sockfd.getOutputStream());
			}
			catch (IOException e) 
			{
				MsgDumperCmnDef.WriteErrorFormatSyslog(__FILE__(), __LINE__(), "Fail to connect to server[%s]", remote_server_cfg.ip);
				return MsgDumperCmnDef.MSG_DUMPER_FAILURE_SOCKET;
			}
			MsgDumperCmnDef.WriteDebugFormatSyslog(__FILE__(), __LINE__(), "Try to connect to the server: %s...... Successfully", remote_server_cfg.ip);

			server_socket_list.add(remote_server_cfg);
		}

		return MsgDumperCmnDef.MSG_DUMPER_SUCCESS;
	}