Socket UnsatisfiedLinkError

bbklol

Mitglied
Hi liebe JAVA Forum Community,

ich habe folgendes Problem:

Ich möchte eine Anwendung schreiben bei der ich RawSockets mit benutze
also nehme ich die Bibliotheken von Rocksaw wahr
und fange an zu testen:

Java:
import java.io.IOException;
import java.net.InetAddress;

import org.savarese.vserv.tcpip.*;
import com.savarese.rocksaw.net.RawSocket;


public class RocksawSender {
	private int TIMEOUT = 10000;
	private RawSocket socket;
	
	public RocksawSender() throws IOException{
		socket = new RawSocket();
	    socket.open(RawSocket.PF_INET, RawSocket.getProtocolByName("ip"));
	}
	

  public static final void main(String[] args) throws Exception 
  {
	  RocksawSender rs = new RocksawSender();

  } 

}

Bei Run kommt folgender Fehler:
Code:
Exception in thread "main" java.lang.UnsatisfiedLinkError: no rocksaw in java.library.path
	at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1758)
	at java.lang.Runtime.loadLibrary0(Runtime.java:823)
	at java.lang.System.loadLibrary(System.java:1045)
	at com.savarese.rocksaw.net.RawSocket.<clinit>(RawSocket.java:76)
	at RocksawSender.<init>(RocksawSender.java:13)
	at RocksawSender.main(RocksawSender.java:20)

Die Bibliotheken habe ich aber schon importiert:
wb6556gn.png


Mein Betriebssystem ist Mac OS 10.7.3
und meine Entwicklungsumgebung ist Eclipse Indigo.

Was kann ich jetzt noch tun?!

mfg,
bbklol
 

bbklol

Mitglied
So meine lieben,

ich habe die Antwort herausgefunden:

Bei mir is JDK 64 bit Standardmäßig drauf
also muss ich, als root natürlich wenn ich mit rawsockets arbeite,
folgendes eingeben, nachdem ich es kompiliert habe:

Vorher habe alle Bibliothekdateien in die JAVA Libraries kopiert.
Den Pfad habe ich folgendermaßen herausbekommen:

Code:
String path = System.getProperty("java.library.path");
      System.out.println(path);

Dann kam immer noch eine Meldung wegen einer falschen Architektur:
Code:
lipo -info librocksaw.jnilib
Ergebnis war i386

also lassen wir alles unter 32 bit laufen:

Code:
java -d32 JavaApp

mfg,
bbklol
 
Zuletzt bearbeitet:

bbklol

Mitglied
Noch ein Post dann markiere ich das Thema als erledigt!

Anstatt sich mit diesem veralteten Plugin rumzuschlagen
würde ich eher jpcap empfehlen!

mfg,
bbklol
 

irgendjemand

Top Contributor
hmm ... ich kenne zwar libpcap ... und hab auch von gehört das es dafür auch einen java-port geben soll ... aber das man damit sogar sowas machen kann erstaunt mich dann doch ... dachte immer das libpcap lediglich für netzwerk-pakete verwendbar ist ... man lernt halt doch nie aus
 

Neue Themen


Oben