我正在用java开发一个服务器套接字项目,在这个项目中,客户机应该向服务器发送一条消息,服务器读取该消息,然后将其转换为大写,但我不确定为什么我没有得到输出,这是 temp
最后,它不会被转换,它是一个套接字tcp/ip程序,下面是我的客户端程序:
import java.io.*;
import java.net.*;
import java.util.Scanner;
class SocketClient {
public static void main(String argv[]) {
int port = 1234;
try {
Scanner s1=new Scanner(System.in);
Socket s=new Socket("localhost",port);
Scanner sc=new Scanner(s.getInputStream());
System.out.println("Enter a word to convert :");
String m=s1.nextLine();
PrintStream p=new PrintStream(s.getOutputStream());
p.println(m);
String temp=sc.nextLine();
System.out.println("the converted word is :"+temp.toUpperCase());
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}}}
我的服务器程序是:
import java.io.*;
import java.net.*;
import java.util.Scanner;
public class SocketServeur {
public static void main(String argv[]) {
int port = 1234;
try {
ServerSocket ss= new ServerSocket(port);
Socket so=ss.accept();
Scanner s1=new Scanner(so.getInputStream());
String m=s1.nextLine();
String temp=m;
PrintStream p=new PrintStream(so.getOutputStream());
p.println(temp);
} catch (Exception e) {
System.err.println("Error : " + e);
}
}
}
1条答案
按热度按时间csbfibhn1#
我把你的例子搞砸了。服务器可以同时处理多个客户端。对于高级策略,您可以将服务器和客户机放在它们自己的文件中,授予高级可控性并限制对变量的访问。另外,请阅读源代码中的注解。
在客户端之前启动服务器是很重要的;否则会出现连接错误。
和
这将为服务器创建输出:
对于客户来说,比如:
如果此时,您的客户机仍然没有提供预期的输出,那么您就有一些编译问题。在这种情况下,请检查编译器输出。