黑马程序员技术交流社区
标题: Tcp 编程思路整理(服务器端) [打印本页]
作者: bowen-xiao 时间: 2015-1-12 10:53
标题: Tcp 编程思路整理(服务器端)
程序思路简单,请各位多多指教。
Tcp 编程之服务器端
需求:
服务器接收客户端发送的字符串,反转之后发回客户端。
思路整理:
第一步:创建一个流套接字并将其连接到指定的端口号,服务器开始接收请求。
(在这里可以打印客户端IP)
第二步:创建一个输入流,用于接收服务器端读取到的数据。
第三步:创建一个输出流,用于服务器端处理后的数据返回。
第四步:业务逻辑处理,并返回数据。
代码如下:
importjava.io.BufferedReader;
importjava.io.BufferedWriter;
importjava.io.InputStreamReader;
importjava.io.OutputStreamWriter;
importjava.net.ServerSocket;
importjava.net.Socket;
/*
*服务器接收客户端发送的字符串,反转之后发回客户端。
*/
publicclass Test10_Tcp_Server {
public static void main(String[] agrs)throws Exception
{
// 创建一个流套接字并将其连接到指定的端口号。
ServerSocket ss = new ServerSocket(8888);
Socket s = ss.accept();// 服务器开始接收请求
// 获取请求主机的IP地址
String ip = s.getInetAddress().getHostAddress();
System.out.println(ip + "号主机与服务器已经连接");
BufferedReader buf = new BufferedReader(new InputStreamReader(
s.getInputStream()));
BufferedWriter bufout = new BufferedWriter(new OutputStreamWriter(
s.getOutputStream())
); // 创建一个输出流
String line = null;
while ((line = buf.readLine()) != null) {
System.out.println(line);// 打印获取客户端传输过来的数据
StringBuffer re = new StringBuffer(line);
String str = re.reverse().toString(); // 字符串反转处理
System.out.println(re + "++ ++" + str); // 服务器本地输出
bufout.write(str); // 将字符反转并输出到客户端
bufout.newLine();//写入一个行分隔符。
bufout.flush();// 输出返回到客服端
}
s.close();
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |