黑马程序员技术交流社区
标题:
Java网络编程问题
[打印本页]
作者:
一个人旅行
时间:
2013-11-7 19:45
标题:
Java网络编程问题
基础测试中遇到的一题,虽然交上去了,还想知道这题该怎么写。。。
使用TCP协议完成一个客户端一个服务器。客户端从键盘输入读取一个字符串,发送到服务器。
服务器接收客户端发送的字符串,反转之后发回客户端。客户端接收并打印。
作者:
零下五度的水
时间:
2013-11-7 19:58
跟基础课程里23天13 基本没差啊
作者:
zuiaichiyu
时间:
2013-11-8 00:40
本帖最后由 zuiaichiyu 于 2013-11-8 00:44 编辑
自己写的测试了一下 可以实现,异常直接抛出了需要导入的包
import java.net.*;
import java.io.*;
客户端代码
public class Client {
public static void main(String[] args) throws Exception {
// 建立客户端Socket服务端对象
Socket s = new Socket("127.0.0.1", 10000);
// 读取键盘录入
BufferedReader bfr = new BufferedReader(
new InputStreamReader(System.in));
// 通过打印流将读取的字符 打印到输出流
PrintWriter pw = new PrintWriter(s.getOutputStream(), true);
// 获取服务器返回的输入流对象
BufferedReader bfrin = new BufferedReader(new InputStreamReader(
s.getInputStream()));
String line = null;
while ((line = bfr.readLine()) != null) {
//向输出流打印
pw.println(line);
//读取返回的输入流并打印
String reverline = bfrin.readLine();
System.out.println(reverline);
}
pw.close();
bfr.close();
s.close();
}
}
复制代码
服务器端代码
public class Server {
public static void main(String[] args) throws Exception {
//创建服务器端Socket服务对象,并监视10000端口
ServerSocket ss = new ServerSocket(10000);
//建立与客户端的连接
Socket s = ss.accept();
// 获取客户端输入的内容
BufferedReader bfr = new BufferedReader(new InputStreamReader(
s.getInputStream()));
// 创建打印流 将输出结果 打印到输出流
PrintWriter pw = new PrintWriter(s.getOutputStream(), true);
String line = null;
while ((line = bfr.readLine()) != null) {
//使用字符串缓冲区的反转功能反转
StringBuilder sb = new StringBuilder(line);
sb = sb.reverse();
line = sb.toString();
pw.println(line);
}
pw.close();
bfr.close();
ss.close();
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2