如何测试示例TCP Socket程序

时间:2012-07-15 21:03:53

标签: java sockets tcp

我有一个示例TCP客户端和服务器应用程序,我想运行,但我不知道如何运行它们。它说我需要在一个主机中编译客户端程序而在另一个主机中编译服务器应用程序,但是当我只有一台计算机时我不知道如何执行此操作。我知道这很简单,但我需要一些帮助才能让我开始。

以下是TCP Server应用程序示例:

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); 
    } 
} 
} 

以下是TCPClient应用程序示例

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(); 

    } 
}

这里有什么东西吗?

这正是我所做的

step1

step2

这是我第一次使用Eclipse,所以我可能会在那里做错事。我通常使用DrJava,但由于某种原因,我不允许同时运行两者。

1 个答案:

答案 0 :(得分:3)

几乎所有套接字程序都可以在相同的计算机上运行两半。只需在一个窗口中运行服务器,在另一个窗口中运行客户端,并指定连接地址127.0.0.1(这意味着localhost,您自己的计算机)。