黑马程序员技术交流社区
标题:
在线急等
[打印本页]
作者:
jiangshicun007
时间:
2015-11-28 21:57
标题:
在线急等
* 客户端用键盘向服务器发送数据,服务器讲输入的数据反转后返回
*/
public static void main(String[] args) throws UnknownHostException, IOException {
Scanner sc=new Scanner(System.in);
while (true) {
Socket socket =new Socket("127.0.0.1",54321);
BufferedReader br=new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintStream ps=new PrintStream(socket.getOutputStream());
ps.println(sc.nextLine());
System.out.println(br.readLine());
}
}
}
/**
* 服务器短接收客户端输入的数据反转后返回
*/
public static void main(String[] args) throws IOException {
ServerSocket server = new ServerSocket(54321);
System.out.println("服务器启动绑定端口号54321");
while (true) {
final Socket socket=server.accept();
new Thread() {
public void run() {
try {
BufferedReader br = new BufferedReader(
new InputStreamReader(socket.getInputStream()));
PrintStream ps = new PrintStream(
socket.getOutputStream());
String line=br.readLine();
line=new StringBuilder(line).reverse().toString();
ps.println(line);
} catch (IOException e) {
e.printStackTrace();
}
}
}.start();
}
}
}
一直有问题解决不了
在线求高手指点
作者:
mars314
时间:
2015-11-28 21:57
* 客户端用键盘向服务器发送数据,服务器讲输入的数据反转后返回
*/
public static void main(String[] args) throws UnknownHostException, IOException {
Scanner sc=new Scanner(System.in);
while (true) {
Socket socket =new Socket("127.0.0.1",54321);
BufferedReader br=new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintStream ps=new PrintStream(socket.getOutputStream());
ps.println(sc.nextLine());
System.out.println(br.readLine());
}
}
}
/**
* 服务器短接收客户端输入的数据反转后返回
*/
public static void main(String[] args) throws IOException {
ServerSocket server = new ServerSocket(54321);
System.out.println("服务器启动绑定端口号54321");
while (true) {
final Socket socket=server.accept();
new Thread() {
public void run() {
try {
BufferedReader br = new BufferedReader(
new InputStreamReader(socket.getInputStream()));
PrintStream ps = new PrintStream(
socket.getOutputStream());
String line=br.readLine();
line=new StringBuilder(line).reverse().toString();
ps.println(line);
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}.start();
}
}
}
/*兄弟再试试这个,哈哈,你哪里就差了一个结束标志*/
作者:
Coolman
时间:
2015-11-28 22:49
客户端的new Socket应该放在循环外面
作者:
jiangshicun007
时间:
2015-11-29 09:26
Coolman 发表于 2015-11-28 22:49
客户端的new Socket应该放在循环外面
放在外面也不行
作者:
Coolman
时间:
2015-11-29 14:46
把scanner放在循环里面,否则第二次接收不到输入就阻塞了
作者:
Weidan
时间:
2015-11-29 22:19
为啥我试了没问题呢 我把服务器和客户端分开了 先打开服务器再打开客户端 可以顺利实现你要的功能
作者:
王开冰
时间:
2015-11-30 07:47
厉害,给力!!!!
作者:
jiangshicun007
时间:
2015-11-30 10:06
不好意各位,你们的方法都有问题!你们的改进方案我也试了不行,问题是只能够正确的运行一次,多次运行就会出异常!
作者:
mars314
时间:
2015-11-30 20:22
兄弟你再好好看看。多次运行根本没有问题好不。
作者:
jiangshicun007
时间:
2015-12-3 19:32
服务端接收客户端的实际上建一个线程就可以了!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2