Hallo und vorab vielen Dank an den- oder diejenigen Experten, die mir hier weiterhelfen, denn ich kriege es einfach nicht hin :-(, obwohl ich mich fast in den Wahnsinn lese. Wenn es möglich ist, bitte die Erklärungen so abzufassen, dass ich blutiger Anfänger damit zurecht komme ;-)
Also hier ist der Core, der eine Verbindung zum (Chat)Server aufbaut. Von in.readLine wird der erste Zeichenstring ":c" (Meldung vom Server) aufgenommen, so dass auf die erste while-Bedingung (":")ein true kommen dürfte und out.println ausgeführt werden müsste - es passiert aber nichts und ich kriegs nicht hin, warum nichts passiert! Was mache ich falsch ? Auch die Anweisung out.print() bringt nichts und irgendwie habe ich das Gefühl, dass keine Daten an den Server gesendet werden, wobei die Verbindung steht! Sollte euch zusätzlich noch was verbesserungsfähiges an dem Source auffallen, für jede Art von Anregungen bin ich offen und nochmals vielen Dank - Achim
<PRE>
import java.io.*;
import java.net.*;
import java.util.*;
public class BotU {
private static String startchan = "Test";
private static String botname = "TestBot";
private static String passwd = "TestPass";
private static String admin = "TestAdmin";
public static void main(String args[]) {
BufferedReader in;
PrintStream out;
Socket sock;
try {
sock = new Socket("www.testchat.de", 9999);
in = new BufferedReader(new InputStreamReader
(sock.getInputStream()));
out = new PrintStream(sock.getOutputStream());
System.out.println(sock);
//Auf erste Servermeldung warten)
System.out.println(in.readLine());
while (!(in.readLine().startsWith(":"))) {}
//als Bot anmelden
out.println("Bl'm a bot.");
//Username senden
out.print("a"+botname);
//Auf Passwortanfrage warten
while (!(in.readLine().startsWith("c"))) {}
//Passwort senden
out.print("b"+passwd);
//Auf full-login warten
while (!(in.readLine().startsWith("!0"))) {}
//Channel betreten
out.print("c"+startchan);
}
catch (Exception e)
{System.out.println(e);
}
}
}
</PRE>
Also hier ist der Core, der eine Verbindung zum (Chat)Server aufbaut. Von in.readLine wird der erste Zeichenstring ":c" (Meldung vom Server) aufgenommen, so dass auf die erste while-Bedingung (":")ein true kommen dürfte und out.println ausgeführt werden müsste - es passiert aber nichts und ich kriegs nicht hin, warum nichts passiert! Was mache ich falsch ? Auch die Anweisung out.print() bringt nichts und irgendwie habe ich das Gefühl, dass keine Daten an den Server gesendet werden, wobei die Verbindung steht! Sollte euch zusätzlich noch was verbesserungsfähiges an dem Source auffallen, für jede Art von Anregungen bin ich offen und nochmals vielen Dank - Achim
<PRE>
import java.io.*;
import java.net.*;
import java.util.*;
public class BotU {
private static String startchan = "Test";
private static String botname = "TestBot";
private static String passwd = "TestPass";
private static String admin = "TestAdmin";
public static void main(String args[]) {
BufferedReader in;
PrintStream out;
Socket sock;
try {
sock = new Socket("www.testchat.de", 9999);
in = new BufferedReader(new InputStreamReader
(sock.getInputStream()));
out = new PrintStream(sock.getOutputStream());
System.out.println(sock);
//Auf erste Servermeldung warten)
System.out.println(in.readLine());
while (!(in.readLine().startsWith(":"))) {}
//als Bot anmelden
out.println("Bl'm a bot.");
//Username senden
out.print("a"+botname);
//Auf Passwortanfrage warten
while (!(in.readLine().startsWith("c"))) {}
//Passwort senden
out.print("b"+passwd);
//Auf full-login warten
while (!(in.readLine().startsWith("!0"))) {}
//Channel betreten
out.print("c"+startchan);
}
catch (Exception e)
{System.out.println(e);
}
}
}
</PRE>
Comment