/ Forside / Teknologi / Udvikling / Java / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
Simpelt klient server program
Fra : Johs32


Dato : 20-07-06 18:17

Jeg forsøger at lave et meget simpelt server klient program der kan
følgende:

A modtager input/beskeder fra brugeren
A sender beskeder til B
B udskriver modtaget beskeder.

Dette skal blive ved så længe brugeren indtaster beskeder. Yderligere vil
jeg også gerne afvikle det i det samme konsol vindue (bruger eclipse).

Problemet er at jeg pt ikke får udskrevet noget:

import java.io.*;
import java.net.*;

public class Client
{
public static void main(String[] args) throws IOException
{


BufferedReader stdIn = new BufferedReader(
new InputStreamReader(System.in));
String userInput;
Socket echoSocket = new Socket("localhost",7);
DataOutputStream toServer = new
DataOutputStream(echoSocket.getOutputStream());
userInput = stdIn.readLine();
while ((userInput = stdIn.readLine()) != null)
{
System.out.println("Text typed by client: " + userInput);
toServer.writeBytes(userInput + '\n');
}

stdIn.close();
echoSocket.close();
}
}





package assign;

import java.net.*;
import java.io.*;

import com.sun.corba.se.internal.POA.ClientSC;

public class EchoServer
{
public static void main(String argv[]) throws IOException
{
String clientSentence;
ServerSocket welcome = new ServerSocket(7);
System.out.println("Waiting");

while(true)
{
System.out.println("1");
Socket connection = welcome.accept();
System.out.println("2");
InputStreamReader in = new
InputStreamReader(connection.getInputStream());
BufferedReader inFromClient = new BufferedReader(in);
clientSentence = inFromClient.readLine();
System.out.println("Server prints: "+clientSentence);

}

}
}


Håber nogen kan give mig et par hints til at komme videre.

Mvh
Johs



 
 
Michael Zedeler (20-07-2006)
Kommentar
Fra : Michael Zedeler


Dato : 20-07-06 19:57

Johs32 wrote:
> Jeg forsøger at lave et meget simpelt server klient program der kan
> følgende:
>
> A modtager input/beskeder fra brugeren
> A sender beskeder til B
> B udskriver modtaget beskeder.
>
> Dette skal blive ved så længe brugeren indtaster beskeder. Yderligere vil
> jeg også gerne afvikle det i det samme konsol vindue (bruger eclipse).
>
> Problemet er at jeg pt ikke får udskrevet noget

Hmmm.... det er lidt underligt at du bruger port 7. På Linux (og
lignende) får man ikke lov til den slags, med mindre man er root. Prøv
et tal over 1024.

Dernæst kan du jo checke serveren alene ved at telnette til den port,
den lytter på. Ditto kan du checke klienten med programmet netcat.

Mvh. Michael.
--
Which is more dangerous? TV guided missiles or TV guided families?
I am less likely to answer usenet postings by anonymous authors.
Visit my home page at http://michael.zedeler.dk/

Arne Vajhøj (21-07-2006)
Kommentar
Fra : Arne Vajhøj


Dato : 21-07-06 03:25

Johs32 wrote:
> Jeg forsøger at lave et meget simpelt server klient program der kan
> følgende:
>
> A modtager input/beskeder fra brugeren
> A sender beskeder til B
> B udskriver modtaget beskeder.
>
> Dette skal blive ved så længe brugeren indtaster beskeder. Yderligere vil
> jeg også gerne afvikle det i det samme konsol vindue (bruger eclipse).
>
> Problemet er at jeg pt ikke får udskrevet noget:

> Håber nogen kan give mig et par hints til at komme videre.

1) Du skal bruge PrintWriter eller PrintStream fremfor
DataOutputStream.

2) Nå du skriver til en socket skal du kalde flush eksplicit
for at få beskeden afsted.

Arne

Søg
Reklame
Statistik
Spørgsmål : 177579
Tips : 31968
Nyheder : 719565
Indlæg : 6409073
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste