Apache MiA에서 IoBuffers를 사용하여 Java의 버퍼에서 String을 올바르게 구분하는 방법에 대해 궁금합니다. 내가 문자열에 다른 후 하나의 문자열을 놓겠 때문에, 서버가 버퍼를 수신 한 문자열로 처리됩니다버퍼의 문자열을 올바르게 구분합니다.
IoBuffer buffer = IoBuffer.allocate(100);
buffer.putString("username");
buffer.putString("password");
buffer.flip();
session.write(buffer);
클라이언트 측 : 여기에 몇 가지 예제 코드입니다.
서버 측
IoBuffer buffer = (IoBuffer) message;
String username = buffer.getString(Charset.forName("UTF-8").newDecoder());
String password = buffer.getString(Charset.forName("UTF-8").newDecoder());
프로그램을 함께 넣어 두 문자열을 하나의 문자열로 계산 있기 때문에 (전체 전체 문자열을 가지고 생각하기 때문에, 두 번째에는 getString()에 대한 예외의 어떤 종류를 던질 것이다 ).
어떻게이 두 문자열을 올바르게 구분해야합니까?
: 확실한 방법은 같은 것을 할 것입니다 "사용자 이름 : 암호"
및 서버 측에서 :
String[] args = buffer.getString(Charset.forName("UTF-8").newDecoder()).split(":", 2);
String username = args[0];
String password = args[1];
이 가장 좋은 방법은이 작업을 수행인가요? 아니면이 두 문자열을 구분하는 더 적절한 방법이 있습니까? 대단히 감사합니다!