D
Der(immernoch)Suchende
Gast
Hi,
ich habe eine Art Bibliothek geschrieben in der ich Funktionen die ich für ein paar Programme brauche gekapselt habe, ich habe diese lib einfach CKernel getauft und darauf greift dann anschließend die DragonConsole zu (als Test ob die ganzen Funktionen laufen), jetzt habe ich nur das Problem dass wenn ich nun versuche das ganze zu kompilieren eine Fehlermeldung kommt und zwar:
die Hierarchie der Packages ist so dass in dem Ordner wo die DragonConsole liegt noch ein weiterer Ordner namens CKernel ist und in dem CKernel Ordner sihc die .java Datei zum Kernel befindet.
Hier sind die Sources:
CKernel.java:
und die DragonConsole.java
ich hoffe das ich nach dem ich schon durch x Foren durch bin wo man mir in keinem helfen konnte, dass ich jetzt hier vielleicht endlich mal einen Volltreffer lande
Vielen, vielen Dank für eure Bemühungen im Voraus
cu
Black
ich habe eine Art Bibliothek geschrieben in der ich Funktionen die ich für ein paar Programme brauche gekapselt habe, ich habe diese lib einfach CKernel getauft und darauf greift dann anschließend die DragonConsole zu (als Test ob die ganzen Funktionen laufen), jetzt habe ich nur das Problem dass wenn ich nun versuche das ganze zu kompilieren eine Fehlermeldung kommt und zwar:
Code:
...unable to start...und dann kommen noch die ganzen Pfadangaben..
die Hierarchie der Packages ist so dass in dem Ordner wo die DragonConsole liegt noch ein weiterer Ordner namens CKernel ist und in dem CKernel Ordner sihc die .java Datei zum Kernel befindet.
Hier sind die Sources:
CKernel.java:
Code:
package DragonConsole.CKernel;
import java.net.*;
import java.util.*;
import java.io.*;
import java.nio.charset.*;
import java.nio.channels.*;
import java.nio.*;
public class CKernel
{
SocketChannel sc;
Selector selector;
CharsetEncoder encoder;
Charset charset;
int MAX_LAENGE = 1024;
public CKernel()
{
// Constructor
}
public void SocketCreate(String ServerIP, int port) throws Exception
{
// First of all create the Socket Channel
sc = SocketChannel.open();
// i need a non-blocking socket
sc.configureBlocking(false);
// the selector VERY IMPORTANT
selector = Selector.open();
// Socket Addy
InetSocketAddress addy = new InetSocketAddress
(ServerIP, port);
// connect2Server
sc.connect(addy);
while(!sc.finishConnect())
{
// this while runs until the the kernel has connected to the Server
}
// Now we have got a connection but what's with the Charset
// NOT INTERNATIONAL
charset = Charset.forName("ISO-8859-1");
encoder = charset.newEncoder();
sc.register(selector, SelectionKey.OP_READ|SelectionKey.OP_WRITE);
// Connection sucessfuly inited
// Public should be: sc, selector, encoder
}
public void SocketRec() // SocketChannel sc, Selector selector, CharsetEncoder encoder)
{
try {
while (true) {
int n = selector.select();
if (n == 0) {
continue;
}
}
} catch(IOException e) {
// IOException bla bla
}
Set keys = selector.selectedKeys();
Iterator it = keys.iterator();
while(it.hasNext()){
SelectionKey selKey = (SelectionKey)it.next();
if(selKey.isReadable()){
// time to setup read
ByteBuffer incomingData =
ByteBuffer.allocate(MAX_LAENGE);
incomingData.clear();
int count;
try {
while ( (count = sc.read(incomingData)) > 0) {
// reading the data
}
} catch(IOException e){
// IOException
}
int pos = incomingData.position();
incomingData.flip();
CharBuffer content = charset.decode(incomingData); //normalerweiße "charset.decode(incomingData);
String inData = content.toString();
System.out.println(inData.trim());
break;
}
}
}
public void SocketClose()
{
try {
sc.close();
} catch(IOException e) {
// bla bla Excpetion
}
}
}
und die DragonConsole.java
Code:
import CKernel.*;
public class DragonConsole
{
public DragonConsole()
{
// bla bla Constructor
}
public static void main(String args[])
{
CKernel kernel = new CKernel();
kernel.SocketCreate("localhost", 333);
kernel.SockRec();
kernel.close();
}
}
ich hoffe das ich nach dem ich schon durch x Foren durch bin wo man mir in keinem helfen konnte, dass ich jetzt hier vielleicht endlich mal einen Volltreffer lande
Vielen, vielen Dank für eure Bemühungen im Voraus
cu
Black