Comment tester un échantillon représentatif de Socket TCP programme
J'ai un échantillon TCP client et le serveur d'application que je veux, mais je ne suis pas sûr de la façon de les exécuter. Il dit que j'ai besoin de compiler le programme client dans un hôte et le serveur d'application dans l'autre, mais je n'ai aucune idée de comment faire cela quand je viens d'avoir un ordinateur. Je sais que c'est très simple, mais j'ai besoin d'un peu d'aide pour me mettre sur la voie.
Voici un exemple de Serveur TCP application:
import java.io.*;
import java.net.*;
class TCPServer {
public static void main(String argv[]) throws Exception
{
String clientSentence;
String capitalizedSentence;
ServerSocket welcomeSocket = new ServerSocket(6790);
while(true) {
Socket connectionSocket = welcomeSocket.accept();
BufferedReader inFromClient =
new BufferedReader(new InputStreamReader(connectionSocket.getInputStream()));
DataOutputStream outToClient =
new DataOutputStream(connectionSocket.getOutputStream());
clientSentence = inFromClient.readLine();
capitalizedSentence = clientSentence.toUpperCase() + '\n';
outToClient.writeBytes(capitalizedSentence);
}
}
}
Voici l'exemple de TCPClient application
import java.io.*;
import java.net.*;
class TCPClient {
public static void main(String argv[]) throws Exception
{
String sentence;
String modifiedSentence;
BufferedReader inFromUser =
new BufferedReader(new InputStreamReader(System.in));
Socket clientSocket = new Socket("10.0.1.2", 6790);
DataOutputStream outToServer =
new DataOutputStream(clientSocket.getOutputStream());
BufferedReader inFromServer =
new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
sentence = inFromUser.readLine();
outToServer.writeBytes(sentence + '\n');
modifiedSentence = inFromServer.readLine();
System.out.println("FROM SERVER: " + modifiedSentence);
clientSocket.close();
}
}
Est quelque chose ici?
Ici est exactement ce que je fais
C'est la première fois que j'utilise Eclipse, donc je pourrais faire quelque chose de mal là. J'utilise normalement DrJava mais cela n'a pas permettez-moi de lancer les deux en même temps pour une raison quelconque.
Vous devez vous connecter pour publier un commentaire.
Presque n'importe quel socket programme peut exécuter les deux moitiés sur le même ordinateur. Il suffit de lancer le serveur dans une fenêtre, le client dans un autre, et de spécifier le type de connexion l'adresse 127.0.0.1 (ce qui signifie
localhost
, votre propre ordinateur).Pour toute personne utilisant ce code, j'ai juste fait par l'intermédiaire du programme et de voir que la connexion est établie avec succès (si vous modifiez la propriété intellectuelle approprié comme 'localhost'). Toutefois, la TCPServer et le TCPClient faire un readLine d'abord de sorte qu'ils sont à la fois bloqué en attente d'entrée qui ne vient jamais. Changement de l'un d'entre eux d'écrire quelque chose d'abord.