【发布时间】:2013-12-23 17:34:32
【问题描述】:
我想为客户端和服务器建立一个套接字连接以显示文件列表。但下面的代码没有从服务器获取任何输入或向客户端提供输出。请帮忙。
服务器
package javaapplicationthread;
import java.net.ServerSocket;
import java.net.Socket;
import java.io.BufferedReader;
import java.io.File;
import java.io.InputStreamReader;
import java.io.IOException;
import java.io.PrintWriter;
public class zs {
public static int reads,red;
public static void main(String[] args)
{
int flg=0;
try{while(true){
ServerSocket serverSocket = new ServerSocket(1312);
Socket clientSocket = serverSocket.accept();
BufferedReader bufferedReader;
PrintWriter outk=new PrintWriter(clientSocket.getOutputStream(),true);
bufferedReader = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
String inputLine = bufferedReader.readLine();
System.out.println("input is"+ inputLine);
outk.write("abc");
File inputFolder = new File(inputLine);
System.out.println("control is being sent to traverse");
traverse(inputFolder, "");
}
}
catch (IOException ex) {
System.out.println("my exception is"+ex)
System.out.println(leftIndent + parentNode.getName());
}
}}
【问题讨论】:
-
欢迎来到 StackOverflow。在此处发布您的代码并说“它不起作用”不是一个有效的问题。
-
Brian Roach - 我在哪里说过它不起作用?它没有给出任何错误,如果我单独运行 traverse(File parentNode, String leftIndent) 函数,它正在工作..但是当我使用套接字时,一切都被阻塞了
-
您需要在服务器和客户端中关闭您的套接字,并且您需要创建一次
ServerSocket,而不是每个循环一次。 -
EJP 感谢您的帮助