私は、ネットワーキングの入門クラスのためにP2PTwitterクライアントに取り組んでいます。他のピアがそれを発見できるように、自分のピアに自分自身を登録する方法を提供しようとしています。DNSSD.Register()を呼び出すことができるように、DNSTXTレコードを作成しています。ただし、このメソッドを呼び出すと、次のようなエラーが発生します。
このエラーの原因(java):「ロケーション0x0 rip=0x106282baeの無効なメモリアクセス」
これを引き起こしている方法は次のとおりです。
import com.apple.dnssd.*;
public static void announce()throws com.apple.dnssd.DNSSDException{
TXTRecord txtRec = new TXTRecord();
txtRec.set("Version", "1.1");
txtRec.set("EncryptionSupport", "false");
txtRec.set("DisplayName", profile.getPropertyValue("UserName"));
txtRec.set("UserID", profile.getPropertyValue("UserID"));
RegisterListener myRegisterListener = null;
DNSSDRegistration reg = null;
RegisterListener myRegistrationListener = null;
reg = DNSSD.register
(0, DNSSD.ALL_INTERFACES, profile.getPropertyValue("UserName"),
profile.getPropertyValue("DNSSDServiceName"),
null, null, 4444, txtRec, myRegistrationListener);
}
「reg=...」行は、エラーが発生する原因となる行です。私が間違っていることについて何か考えはありますか?これの多くは、私が完全には理解していない例から取られました。