// 服务端程序
import java.net.*;
import java.io.*;
public class EchoServer {
public static void main(String[] args) throws IOException {
if (args.length != 1) {
System.out.println("用法:EchoServer <端口号>");
return;
}
ServerSocket listenSocket = new ServerSocket(
Integer.parseInt(args[0]));
System.out.println("服务程序正在监听端口" + args[0]);
Socket clientSocket = listenSocket.accept();
PrintWriter out = new PrintWriter(
clientSocket.getOutputStream(), true);
BufferedReader in = new BufferedReader(
new InputStreamReader(clientSocket.getInputStream()));
String message;
while ((message = in.readLine()) != null) {
System.out.println("收到请求:" + message);
out.println(message.toUpperCase());
}
out.close();  in.close();
clientSocket.close();  listenSocket.close();
}
}
// 客户端程序
import java.net.*;
import java.io.*;
public class EchoClient {
public static void main(String[] args) throws Exception {
if (args.length != 2) {
System.out.println("用法:EchoClient <主机名> <端口号>");
return;
}
Socket socket = new Socket(args[0], 
Integer.parseInt(args[1]));
PrintWriter out = new PrintWriter(
socket.getOutputStream(), true);  // true指定自动刷新流
BufferedReader in = new BufferedReader(
new InputStreamReader(
socket.getInputStream()));  // 支持Unicode字符
BufferedReader stdIn = new BufferedReader(
new InputStreamReader(System.in));
String userInput;
while ((userInput = stdIn.readLine()) != null) {
out.println(userInput);
System.out.println("返回:" + in.readLine());
}
out.close();  in.close();
stdIn.close();  socket.close();
}
}

解决方案 »

  1.   

    我用JB新建一个项目,然后新建了上面两个class文件,可是怎么执行呢?执行参数为什么?改怎么设置输入参数?
      

  2.   

    而且最好能够和gui结合,比如运行server进行监听,运行client弹出swing输入框,输入需要send的message,然后确定,server弹出个dialog框显示发送过来的message
      

  3.   

    liad() ( 一星(中级)) 大哥的程序我已经在JB中调试通过,但是可以做成简单的和swing结合吗?如我说的?
      

  4.   

    还有这样的socket程序,我要在实际情况该如何部署应用呢?
      

  5.   

    不用部署,都用java启动来就行了
      

  6.   

    对比着看看吧
    http://www.math.grin.edu/~bishopd/csc223/network/EchoServer.java
    http://www.math.grin.edu/~bishopd/csc223/network/EchoClient.java
      

  7.   

    尽管已经结帐了,但我还是有个问题想问楼上的大哥,下面这两个程序我如何能够在weblogic进行测试?因为毕竟实际应用的时候是要部署到server上去的
    http://www.math.grin.edu/~bishopd/csc223/network/EchoServer.java
    http://www.math.grin.edu/~bishopd/csc223/network/EchoClient.java