2016-05-22 5 views
0

error私はDatagramSocketの

DatagramSocketのdsは=新しいのDatagramSocket(12345)に関するトラブルに会った; //ここでは、12345がポート

while (true) { 
     byte[] bys = new byte[1024]; 
     DatagramPacket dp = new DatagramPacket(bys, bys.length); 
     ds.receive(dp); 

     String ip = dp.getAddress().getHostAddress(); 
     String s = new String(dp.getData(), 0, dp.getLength()); 
     System.out.println("from " + ip + " data is : " + s); 
    } 

なぜですか?

+0

JDKが壊れているようです。どのバージョンのWindowsを実行していますか? –

+0

私のWindowsのバージョンはWindows 8.1です。私のJDKバージョンは8u73です。 –

答えて

0

UnsatisfiedLinkExceptionあなたは、標準クラスライブラリのメソッドのネイティブコード実装が欠けていると言っています。これは「起こるべきではない」問題です。

NetBeansからコードを実行することはできますが、Eclipseでは実行できないという事実は、使用しているJDKではなく、Eclipseランチャーの設定などで何かが壊れていることを意味します。

  • 私はコマンドラインからもアプリケーションを実行しようとします。 Eclipseの問題解決するには

    • トライ削除および起動の設定を再作成、
    • は、選択したJREが正しいこと、および
    • は、Eclipseの新規インストールを試すことをチェックしてみてください。
+0

私はコマンドラインから自分のコードを実行することができます、それは実現可能です。
しかし、Eclipseの問題を修正するために、起動設定を削除して再作成するように提案しましたが、起動設定を設定しませんでした。一方、選択されたJREをチェックする方法に関するいくつかの方法を私に提供できますか。正しいです。ありがとうございます! –

0

あなたがAPIに見ればあなたはUnsatisfiedLinkExceptionだけ起こることがあります:Java仮想マシンは、方法の適切な ネイティブ言語の定義を見つけることができない場合

がスローさをネイティブと宣言した。

eclipseで実行しているJVMを調べる必要があります。あなたのコードや日食自体に問題はないはずです。これは単なるJVMの問題です。あなたのシステムでメソッドの実装を見つけようとしますが、見つからないだけです。これをWindows上で実行している場合は、dll関連の問題である可能性があります。たぶんWindows上で現在の実装をサポートするように、ドライバやJVMを更新する必要があるかもしれません。

関連する問題