클라이언트가 중앙 서버에 연결된 클라이언트 - 서버 아키텍처가 있고이 중앙 서버가 두 개의 서버 (Server1과 Server2). Serializable 클래스를 사용하여 클라이언트에서 CentralServer로 Map Object를 전달합니다. 그런 다음 CentralServer에서이 Map Object를 가져 와서 키와 값을 가져 오려고합니다. 그 때문에 다음 코드를 사용하고 있습니다 :지도 개체에서 키와 값을 가져 와서 다른 서버로 보냅니다.
public void readObject(Map<String, byte[]> parObj)
{
for (String key : keys)
{
if(parObj.containsKey(key) == true){
foundAnyKey = true;
byte[] values = parObj.get(key);
//Do Something here
}
}
if(foundAnyKey == true){
//Do something here
}
}
제가 틀렸을 때 수정하십시오. 열쇠와 가치를 얻는 첫 번째 부분을하고 있습니까?
제 질문의 두 번째 부분은 어떻게 "a-f"로 시작하는 키를 Server1에 보내고 "f-z"로 시작하는 키를 Server2로 보낼 수 있습니까? 어떻게해야합니까? 내 MapObject 클라이언트를 형성 얻을 곳
System.out.println("Starting Server");
ServerSocket ss = new ServerSocket(7776);
System.out.println("Server Started");
Socket s = ss.accept();
InputStream is = s.getInputStream();
ObjectInputStream ois = new ObjectInputStream(is);
MapObject mo = (MapObject) ois.readObject();
s.close();
이것은 내 주에서
나는 다음과 같은 코드가 있습니다. 이제이 객체에서 키와 값을 가져 오려고합니다. 감사합니다.
"== true"는 코드에 나타나면 안됩니다. "expression == true"가 표시되면 "expression"자체 만 사용하십시오. –