TypeMedlem sedan mars 20021 239 inlägg Hej!
Jag skulle vilja lära mig mer om Socket o Serversocket, hur man skapar detta osv.. Jag kan typ nada om det så gärna en bra o förklarande sida med kodexempel om någon har?
Det skulle även underlätta med ett kodexempel här om det inte finns nån sida med hjälp.
Jag får bara en massa permissionproblem när jag försöker sätta upp serversockets o så..
MVH Erik
SPiNMedlem sedan mars 20007 896 inlägg Det är inte speciellt svårt att lära sig om det, läs igenom följande sidor så bör du ha hyfsad koll:
http://www.javaworld.com/javaworld/jw-12-1996/jw-12-sockets.html
http://www.javaworld.com/javaworld/jw-01-1997/jw-01-chat.html
http://www.javaworld.com/javaworld/jw-05-2001/jw-0511-howto.html
De nya IO-klasserna för Java i och med 1.4, kan vara värda att slänga ett öga på också, om det inte blir för mycket - de är suveräna av vad jag har sett:
http://www.javaworld.com/javaworld/jw-09-2001/jw-0907-merlin.html
SPiNMedlem sedan mars 20007 896 inlägg Kolla också under Java -> Internet på följande sida för ett enkelt exempel:
http://www.quickmess.com/kodarkivet/
TypeMedlem sedan mars 20021 239 inlägg Tack SPiN!
En bra början.. Har börjat pilla lite nu själv... Ser du varför inte Servern skriver ut något när jag gör så här:
Servern:
import java.applet.Applet;
import java.lang.String;
import java.io.*;
import java.net.*;
public class MyServer extends Applet{
public void init(){
ServerSocket MyService = null;
int PortNumber=5555;
try {
MyService = new ServerSocket(PortNumber);
}
catch (IOException e) {
System.out.println(e);
}
Socket clientSocket = null;
try {
clientSocket = MyService.accept();
}
catch (IOException e) {
System.out.println(e);
}
DataInputStream input=null;
try {
input = new DataInputStream(clientSocket.getInputStream());
while(true){
System.out.print(input.readLine());
}
}
catch (IOException e) {
System.out.println(e);
}
}
}
Clienten:
import java.applet.Applet;
import java.io.*;
import java.net.*;
public class MyClient extends Applet{
public void init(){
Socket MyServer = null;
int PortNumber=5555;
try {
MyServer = new Socket("213.112.29.205", PortNumber);
}
catch (IOException e) {
System.out.println(e);
}
DataOutputStream output=null;
try {
output = new DataOutputStream(MyServer.getOutputStream());
output.writeBytes("Kontakt!");
}
catch (IOException e) {
System.out.println(e);
}
}
}
TypeMedlem sedan mars 20021 239 inlägg Nu funkar det! Felet jag gjorde va:
Kunde inte skriva ut i en applet med System.out.print() (visst inte?) utan fick göra om det till en application...
Tror jag.. nu funkar det iaf :)
jmeMedlem sedan maj 20012 237 inlägg nog kan du använda System.out.println() men då ser du texten enbart då du har Java konsollen öppen. Kör du genom appletviewer så syns den i "DOS-prompt fönstret".
för att se texten som kommer så kan du ju alltid skapa en TextArea ,eller JTextArea ifall du använder Swing.
String text = input.readLine();
JTextArea ta = new JTextArea();
ta.append(text + "\n");
Detta resulterar givetvis i att du måste veta hur man skapar en JTextArea samt hur man får den synlig osv... Men så är det när man kodar grafiskt... :)
Sen ser jag att du har importerat java.lang.String.
Du behöver inte importera klasser som ingår i java.lang för detta görs automatiskt.
TypeMedlem sedan mars 20021 239 inlägg Tack jme!
Jag är som sagt lite ny på det här med java. alla tips är jättebra!
java.lang.String hade jag ingen aning om att den inkluderasdes ändå...!
En annan sak... Swing har ju inputDialog-rutor som man kan skicka upp som användaren får skriva in värden i o så... Hur gör man i awt? Det måste ju finnas något liknande där eller hur gör man då? Jag måste sitta i awt...
SPiNMedlem sedan mars 20007 896 inlägg AWT fungerar istort sett likadant, enda skillnaden är att det inte är ett J framför klassnamnen.
Kika på http://java.sun.com/ - under Tutorials har dom AWT-tutorial.
TypeMedlem sedan mars 20021 239 inlägg Jag tänkte mer specifikt på just Dialog-rutan som man kan direkt skriva så här i swing:
String name=JOptionPane.showInputDialog("Skriv in ett namn:");
Hur gör man det i AWT?