자바를 사용하여 작성중인 게임 서버의 네트워크 주문을 짧게 보내야합니다. 네트워크 주문에 대해 읽었지만 데이터 이전에 전송 된 짧은 정보를 찾을 수 없습니다. 누군가가 나에게 그것이 무엇인지, 그리고 Java로 클라이언트에 보내는 방법을 설명 할 수 있습니까?네트워크 주문 짧은 (Java)
3
A
답변
6
Java NIO 바이트 버퍼는 바이트 순서 변경을 지원합니다. 따라서 네트워크 바이트 순서는 Big Endian입니다.
// Allocate a big endian byte buffer
ByteBuffer bb = ByteBuffer.allocate(4096);
bb.order(ByteOrder.BIG_ENDIAN);
bb.putShort(12345);
// Write the buffer to an NIO channel
bb.flip();
channel.write(bb);
바이트 순서는 단일 바이트보다 큰 숫자 값의 바이트가 저장되는 순서입니다. Big Endian (가장 중요한 바이트가 먼저)과 Little Endian (최하위 바이트가 먼저)의 두 가지 맛이 있습니다.
1
java에서 short int는 2 바이트입니다. 네트워크 바이트 순서는 상위 바이트를 먼저 보내고, 그 다음으로 높은 순서 바이트를 보내고, 하위 바이트는 마지막으로 보낸다. 당신이 다음 OutputStream o
및 short i
가있는 경우
o.write((i >> 8) & 0xff);
o.write(i & 0xff);
는 네트워크 바이트 순서에 짧은을 보낼 수 있습니다. 자동으로 네트워크 바이트 순서로 쓰는 방법이 writeShort()
(및 writeInt
, writeLong
등) 인 DataOutputStream
을 사용하는 것이 좋습니다.
0
OutputStream을 DataOutputStream으로 래핑 할 수 있습니다.
그런 다음 DataOutputStream.writeShort을 사용할 수 있습니다. 계약에 따라이 메소드는 네트워크 순서로 데이터를 씁니다.
관련 문제
- 1. 짧은 값 설정 Java
- 2. 네트워크 인터페이스 VB.Net/Java
- 3. Java 네트워크 검색
- 4. 네트워크 검색 도구 - Java
- 5. Java 네트워크 서비스 스캐너
- 6. Java/네트워크 응용 프로그램
- 7. Java 캐싱 네트워크 파일
- 8. 접미사 트리와 사용법의 짧은 Java 구현?
- 9. Java 네트워크 서버 및 TIME_WAIT
- 10. 네트워크 수학을위한 훌륭한 Java 라이브러리
- 11. Android (Java) 네트워크 프로그래밍 리소스
- 12. Java 서비스 래퍼 클래스 경로는 Maven에서 주문
- 13. ObjectInputStream/ObjectOutputStream을 사용하여 Java "네트워크"네트워크 구현에 대한 장단점은 무엇입니까?
- 14. 주문
- 15. Magento의 주문 ID로 주문 받기
- 16. Java OSGi 중앙 집중식 네트워크 설정
- 17. Java 네트워크 I/O 차단 여부
- 18. 매킨토시의 Java App에서 매번 네트워크 연결을 요청합니다.
- 19. Java/C++에서 Linux 네트워크 연결 처리?
- 20. 네트워크 메시지에서 사용자의 Java 메소드를 실행하십시오.
- 21. Java 네트워크 응용 프로그램의 캐시 종속성을 로컬로
- 22. java/grails의 서버 측 네트워크 인쇄
- 23. java ews api - 네트워크 자격증 명?
- 24. 가장 짧은 시간에 가장 짧은 경로의 알고리즘
- 25. 는 짧은
- 26. C# List</ 순서별/그룹 별 주문/주문
- 27. 고객 주문 또는 도메인 모델의 고객 주문
- 28. C# : 트위스트와 함께 주문 주문 배열 :
- 29. 주문 STL
- 30. 주문 값