Hallo Leute,
ich bin momentan dabei dieses gegebene Programm zu verstehen. Allerdings verstehe ich bei einigen Zeilen nicht wirklich die Funktion. Könnt ihr mir da vielleicht weiter helfen?
[CODE lang="java" title="TCPClient"] import java.net.*; // for Socket
import java.io.*; // for IOException and Input/OutputStream
public class TCPClient {
public static void main(String[] args) throws IOException {
if (args.length < 2)
throw new IllegalArgumentException("Parameter(s): ServerIP \"Message\"");
String message = args[1]+"\n";
byte[] byteBuffer = message.getBytes();
Socket socket = new Socket(args[0], 62001);
System.out.println("Connected to server...sending string");
InputStream in = socket.getInputStream();
BufferedReader buf = new BufferedReader(new InputStreamReader(in));
OutputStream out = socket.getOutputStream();
out.write(byteBuffer);
out.flush();
String inputLine = new String();
String received = new String();
while((inputLine = buf.readLine())!= null)
{
received += inputLine;
}
System.out.println("Received: " + received);
socket.close();
}
}
[/CODE]
[CODE lang="java" title="TCPServer"]import java.net.*;
import java.io.*;
public class TCPServer extends Thread
{
protected Socket clientSocket;
public static void main(String[] args) throws IOException
{
ServerSocket serverSocket = null;
try {
serverSocket = new ServerSocket(62001);
System.out.println ("Connection Socket Created");
try {
while (true)
{
System.out.println ("Waiting for Connection");
new TCPServer (serverSocket.accept());
}
}
catch (IOException e)
{
System.err.println("Accept failed.");
System.exit(1);
}
}
catch (IOException e)
{
System.err.println("Could not listen on port: 62001.");
System.exit(1);
}
finally
{
try {
serverSocket.close();
}
catch (IOException e)
{
System.err.println("Could not close port: 62001.");
System.exit(1);
}
}
}
private TCPServer (Socket clientSoc)
{
clientSocket = clientSoc;
start();
}
public void run()
{
System.out.println ("New Communication Thread Started");
try {
PrintWriter out = new PrintWriter(clientSocket.getOutputStream(),
true);
BufferedReader in = new BufferedReader(
new InputStreamReader( clientSocket.getInputStream()));
String inputLine;
if((inputLine = in.readLine()) != null)
{
System.out.println ("Server: " + inputLine);
String backward = new String();
String andmore = new String();
for(int i=0;i<inputLine.length();i++){
backward = inputLine.charAt(i)+backward;
andmore += inputLine.charAt(i);
}
out.println(backward+andmore);
}
out.close();
in.close();
clientSocket.close();
}
catch (IOException e)
{
System.err.println("Problem with Communication Server");
System.exit(1);
}
}
}
[/CODE]
Die Fragen beziehen sich alle auf TCPClient:
Frage 1:
14: Socket socket = new Socket(args[0], 62001);
Was passiert in der Zeile?
Frage 2:
21: out.write(byteBuffer);
Was passiert in der Zeile?
und das größte Hindernis:
17: InputStream in = socket.getInputStream();
18: BufferedReader buf = new BufferedReader(new InputStreamReader(in));
27: while((inputLine = buf.readLine())!= null)
28: { 29: received += inputLine; 30: }
Was passiert in den Zeilen??
Danke schonmal für die Hilfe.
ich bin momentan dabei dieses gegebene Programm zu verstehen. Allerdings verstehe ich bei einigen Zeilen nicht wirklich die Funktion. Könnt ihr mir da vielleicht weiter helfen?
[CODE lang="java" title="TCPClient"] import java.net.*; // for Socket
import java.io.*; // for IOException and Input/OutputStream
public class TCPClient {
public static void main(String[] args) throws IOException {
if (args.length < 2)
throw new IllegalArgumentException("Parameter(s): ServerIP \"Message\"");
String message = args[1]+"\n";
byte[] byteBuffer = message.getBytes();
Socket socket = new Socket(args[0], 62001);
System.out.println("Connected to server...sending string");
InputStream in = socket.getInputStream();
BufferedReader buf = new BufferedReader(new InputStreamReader(in));
OutputStream out = socket.getOutputStream();
out.write(byteBuffer);
out.flush();
String inputLine = new String();
String received = new String();
while((inputLine = buf.readLine())!= null)
{
received += inputLine;
}
System.out.println("Received: " + received);
socket.close();
}
}
[/CODE]
[CODE lang="java" title="TCPServer"]import java.net.*;
import java.io.*;
public class TCPServer extends Thread
{
protected Socket clientSocket;
public static void main(String[] args) throws IOException
{
ServerSocket serverSocket = null;
try {
serverSocket = new ServerSocket(62001);
System.out.println ("Connection Socket Created");
try {
while (true)
{
System.out.println ("Waiting for Connection");
new TCPServer (serverSocket.accept());
}
}
catch (IOException e)
{
System.err.println("Accept failed.");
System.exit(1);
}
}
catch (IOException e)
{
System.err.println("Could not listen on port: 62001.");
System.exit(1);
}
finally
{
try {
serverSocket.close();
}
catch (IOException e)
{
System.err.println("Could not close port: 62001.");
System.exit(1);
}
}
}
private TCPServer (Socket clientSoc)
{
clientSocket = clientSoc;
start();
}
public void run()
{
System.out.println ("New Communication Thread Started");
try {
PrintWriter out = new PrintWriter(clientSocket.getOutputStream(),
true);
BufferedReader in = new BufferedReader(
new InputStreamReader( clientSocket.getInputStream()));
String inputLine;
if((inputLine = in.readLine()) != null)
{
System.out.println ("Server: " + inputLine);
String backward = new String();
String andmore = new String();
for(int i=0;i<inputLine.length();i++){
backward = inputLine.charAt(i)+backward;
andmore += inputLine.charAt(i);
}
out.println(backward+andmore);
}
out.close();
in.close();
clientSocket.close();
}
catch (IOException e)
{
System.err.println("Problem with Communication Server");
System.exit(1);
}
}
}
[/CODE]
Die Fragen beziehen sich alle auf TCPClient:
Frage 1:
14: Socket socket = new Socket(args[0], 62001);
Was passiert in der Zeile?
Frage 2:
21: out.write(byteBuffer);
Was passiert in der Zeile?
und das größte Hindernis:
17: InputStream in = socket.getInputStream();
18: BufferedReader buf = new BufferedReader(new InputStreamReader(in));
27: while((inputLine = buf.readLine())!= null)
28: { 29: received += inputLine; 30: }
Was passiert in den Zeilen??
Danke schonmal für die Hilfe.