我有一個示例TCP客戶端和服務器應用程序,我想運行,但我不知道如何運行它們。它說我需要在一臺主機上編譯客戶端程序,而在另一臺主機上編譯服務器應用程序,但我不知道如何在有一臺計算機時執行此操作。我知道這很簡單,但我需要一點幫助才能讓我開始。如何測試示例TCP套接字程序
下面是示例TCP服務器應用程序:
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();
}
}
是什麼在這裏下車?
這正是我做
這是我第一次使用Eclipse,所以我可以做什麼不對勁的地方。我通常使用DrJava,但由於某種原因,這並不能讓我同時運行。
我一定在做錯事,然後因爲當我這樣做時什麼都沒有發生。如果我運行服務器應用程序,然後客戶端應用程序,它只是站在那裏.... – 2012-07-15 21:34:43
對不起,當你只是說「什麼都沒有發生」,我不能幫助調試你的程序。如有疑問,打印出來更多。 – 2012-07-15 21:35:48
我用代碼更新了我的帖子。當我現在運行TCPServer程序時,出現以下錯誤:線程「main」中出現異常java.net.ConnectException:連接被拒絕 \t at java.net.PlainSocketImpl.socketConnect(Native Method) \t at java.net.PlainSocketImpl.doConnect (PlainSocketImpl.java:351) \t在java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:213) \t在java.net.PlainSocketImpl.connect(PlainSocketImpl.java:200) \t在java.net.SocksSocketImpl。連接(SocksSocketImpl.java:432) \t at java.net.Socket.connect(Socket.java:529) \t at java.net.Socket.connect(Socket.java:478) – 2012-07-15 21:38:01