커스텀 코코아 애플리케이션 (물론 objective-c로 작성)에서 미니 크래프트 서버에 패킷을 보내려고했습니다. 나는 그것을 어떻게하는 지 조금은 혼란 스럽다. 나는 자바로 해냈다. 그것은 아주 쉬웠다. 이렇게하는 것은 객관적입니다.하지만 좀 더 도전적인 것으로 입증되고 있습니다.Minecraft 서버에 패킷 보내기 : 목표 c
- (void)handshake
{
PacketHandshake *packet = [PacketHandshake packetString:[NSString stringWithFormat:@"%@;%@:%i", username, IP, PORT]];
[packet writeData:dataOut];
}
호출 :
이
내가 사용하고있는 코드입니다 내가 미리 서버에 성공적으로 연결을 설정- (void)writeData:(NSOutputStream *)dataOut
{
[super writeData:dataOut]; //Writes the "header" which is a char with the value of 0x02 (char packetID = 0x02)
NSUInteger len = [string lengthOfBytesUsingEncoding:NSUTF16BigEndianStringEncoding]; //Getting the length of the string i guess?
NSData *data = [string dataUsingEncoding:NSUTF16BigEndianStringEncoding]; //Getting string bytes?
[dataOut write:(uint8_t*)len maxLength:2]; //Send the length?
[dataOut write:[data bytes] maxLength:[data length]]; //Send the actual string?
}
,하지만 난 정말 모르는 여부 패킷을 올바르게 보내지 않습니다. 누군가가 다양한 데이터 유형과 객체를 어떻게 보내야하는지 설명해주십시오. (int, byte/char, short, double, NSString, BOOL/bool)
또한 Minecraft에서 요구하는 것과 같은 패킷을 보낼 수있는 특정 또는 보편적 인 방법이 있습니까?
좋아, 지금 질문 : 데이터 유형, 주로 문자열이 Java 및 Objective-C와 어떻게 관련되어 있습니까?
도움을 주시면 감사하겠습니다. 감사합니다.
아무도 모릅니다.