gpt4 book ai didi

java - 从服务器调用方法

转载 作者:行者123 更新时间:2023-12-02 07:10:45 26 4
gpt4 key购买 nike

client1.java

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

class client1 {
public static void main (String [] args) {

Socket connectToServer;
OutputStream out;
BufferedReader in;
String msg;
String result;

try {
connectToServer = new Socket ("localhost", 5555);
out = connectToServer.getOutputStream ( );

in = new BufferedReader (new InputStreamReader (connectToServer.getInputStream ( )));

msg = "sum" + "\n";

out.write (msg.getBytes ( ), 0, msg.length ( ));
msg = "5" + "\n";

out.write (msg.getBytes ( ), 0, msg.length ( ));
result = in.readLine ( );

System.out.println (result);

connectToServer.close ( );
} catch (Exception ex) {System.out.println (ex);}
}
}

服务器1.java

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

class server1 {
public static void main (String [] args) {

ServerSocket c;
Socket cs;
OutputStream out;
BufferedReader in;
String msg;
String name;
int parameter;
int result=0;

try {
c = new ServerSocket (5555);
cs = c.accept ( );

out = cs.getOutputStream ( );
in = new BufferedReader (new InputStreamReader (cs.getInputStream ( )));

name = in.readLine( );

parameter = Integer.parseInt (in.readLine ( ));

result = name(parameter);
out.write (result.getBytes ( ), 0, result.length ( ));

} catch (Exception ex) {System.out.println (ex);}
}

static int sum (int n)
{
return (n + 5);
}
}

我想从服务器调用 sum 方法,并且我从服务器中排除以支持函数的结果,但有一些错误我真的很累,需要一些帮助我的 friend

抱歉我的英语不好

最佳答案

您的服务器不完整。

result = name(parameter);

这行代码调用名为name的方法。它不会使用变量 name 的值查找方法。

int result=0;
// [...]
out.write (result.getBytes ( ), 0, result.length ( ));

在这里,您尝试对 int 使用 String 方法。

<小时/> 更正:

在您的服务器中,您需要处理该消息,以便您可以选择正确的调用方法。此外,您需要处理协议(protocol)文本,将其转换为正确的 Java 类型,反之亦然。具体来说,您需要调用 Integer.parseInt() 将协议(protocol)中的 String 转换为 sum() 所需的 int ) 方法。然后,您需要将返回的 int 格式化为 String,以便您可以将其发送回客户端。

例如。

if ("sum".equals(name))
{
// TODO: catch NumberFormatException and handle bad input
final int parameter_value = Integer.parseInt(parameter);
result = sum(parameter_value);
}

关于java - 从服务器调用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15558802/

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