java - TCP 客户端-服务器程序的问题

标签 java sockets tcp

下面是我的服务器程序,

import java.io.*;
import java.net.*;

class TwoWayServer
{
   public static void main(String argv[]) throws Exception
      {
         ServerSocket server_socket = new ServerSocket(1234);

         while(true)
         {
            Socket listen_socket = server_socket.accept();
            BufferedReader client_input = new BufferedReader(new InputStreamReader(listen_socket.getInputStream()));
            DataOutputStream dos = new DataOutputStream(listen_socket.getOutputStream());
            String client_str = client_input.readLine();
            System.out.println(client_str);
            String st=client_str.toUpperCase();
            dos.writeBytes(st);
         }
      }
}

而我的客户端程序如下,

import java.io.*;
import java.net.*;

class TwoWayClient
{
 public static void main(String argv[]) throws Exception
 {
  BufferedReader user_input = new BufferedReader( new InputStreamReader(System.in));
  Socket socket = new Socket("localhost", 1234);
  DataOutputStream dos = new DataOutputStream(socket.getOutputStream());
  BufferedReader server_response = new BufferedReader(new InputStreamReader(socket.getInputStream()));
  String client_str = user_input.readLine();
  dos.writeBytes(client_str + '\n');
  String response = server_response.readLine();
  System.out.println("FROM SERVER: " + response);
  socket.close();
 }
}

在这里,如果我从客户端提供一个字符串,那么服务器会返回该字符串的大写形式。但问题是,一旦我提供了字符串,我就没有从服务器得到任何响应。 请帮忙。

最佳答案

问题是服务器没有用换行符将字节写入服务器尝试替换 dos.writeBytes(st);

dos.writeBytes(st + "\n");

关于java - TCP 客户端-服务器程序的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20421211/

相关文章:

python - python Web浏览器中的400错误请求

c++ - 在 C++ 中通过套接字发送 protobuf 的序列化是什么?

go - 代理处理函数中 []byte 的字符串表示形式

networking - 数据链路层和传输层

java - 我的游戏屏幕在 Android 上使用 libgdx 缩小

java.lang.RuntimeException : Unable to start activity android. content.res.Resources$NotFoundException: 资源 ID #0x7f110002

c - 发送到:无效参数

C# 如何处理 TCP 包/段

java - 如何找到最接近零的数组中两个元素的总和

java - 获取没有堆栈跟踪的 "ArrayIndexOutOfBoundsException: null"