gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-11-01 02:33:32 25 4
gpt4 key购买 nike

下面是我的服务器程序,

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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com