小编典典

Java Socket客户端和服务器

java

我尝试使用以下代码从服务器到客户端发送文件和目录列表。服务器正在从客户端接收消息,但我不知道服务器是否没有发送回结果或客户端是否不接受结果。

服务器端:

package without.thread;


import java.io.BufferedOutputStream;
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.OutputStream;
import java.io.PrintWriter;
import static java.rmi.Naming.list;
import java.util.ArrayList;
import static java.util.Collections.list;
import java.util.logging.Level;
import java.util.logging.Logger;


public class SerTest {
  public static int reads,red;  
    public static void main(String[] args) 
    {

          try
                  {
                      System.out.print("i m ready, call my client");
            ServerSocket serverSocket = new ServerSocket(18789);
                       while(true){ 
            Socket clientSocket = serverSocket.accept();
                        System.out.println(clientSocket+"1");
                       // outk=new PrintWriter(clientSocket.getOutputStream(),true);

                         BufferedReader bufferedReader;
       bufferedReader = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
                }

阅读 265

收藏
2020-11-30

共1个答案

小编典典

据我所见,您readLine()在客户端上做outqw.write()的同时在服务器上做。从服务器发送的字符串中没有行尾字符,因此客户端将永远无法完成readLine。执行outqw.println()或添加"\n"到要发送的内容的末尾。话虽这么说,很难用一堆注释掉的东西来浏览未格式化的代码,所以问题可能出在其他地方。

2020-11-30