java搭建socket服务器端_Java创建服务器端serverSocket和客户端socket

本文展示了如何使用Java创建一个简单的Socket服务器端和客户端。服务器端通过`ServerSocket`监听8888端口,接收到客户端连接后读取并打印报文,然后回应'欢迎使用'。客户端则向服务器发送'服务器你好!',并接收服务器的回应。通过这样的交互,实现了两端的通信。
摘要由CSDN通过智能技术生成

创建服务器端serverSocketimport java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStream;import java.io.PrintWriter;import java.net.ServerSocket;import java.net.Socket;/**

* 服务端

* @author Administrator

*

*/public class Server {

public static void main(String[] args) throws IOException { //创建一个服务器端socket,指定绑定的端口号,并监听此端口

ServerSocket serverSocket = new ServerSocket(8888); //调用accept()方法开始监听,等待客户端的连接

System.out.println("**********服务器即将启动,等待客户端的连接*************");

Socket socket = serverSocket.accept(); //获取输入流,并读取客户端信息

InputStream inp = socket.getInputStream(); //把字节流转换成字符流

InputStreamReader isr = new InputStreamReader(inp); //为字符流增加缓冲区

BufferedReader bfr = new BufferedReader(isr);

String info = null; while((info=bfr.readLine())!=null){//循环读取数据

System.out.println("客户已连接,报文内容:"+info);

}

socket.shutdownInput();//关闭输入流

//向客户端传递的信息

OutputStream ots = socket.getOutputStream();

PrintWriter pw = new PrintWriter(ots);

pw.write("欢迎使用");

pw.flush(); //关闭资源

pw.close();

ots.close();

bfr.close();

isr.close();

inp.close();

socket.close();

serverSocket.close();

}

}

客户端socketimport java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStream;import java.io.PrintWriter;import java.net.Socket;import java.net.UnknownHostException;/**

* 客户端

* @author Administrator

*

*/public class Client {

public static void main(String[] args) { try { //创建一个客户端socket

Socket socket = new Socket("localhost",8888); //向服务器端传递信息

OutputStream ots = socket.getOutputStream();

PrintWriter pw = new PrintWriter(ots);

pw.write("服务器你好!");

pw.flush(); //关闭输出流

socket.shutdownOutput(); //获取服务器端传递的数据

InputStream is = socket.getInputStream();

InputStreamReader isr = new InputStreamReader(is);

BufferedReader br = new BufferedReader(isr);

String info = null; while((info=br.readLine())!=null){

System.out.println("服务器返回报文:"+info);

} //关闭资源

br.close();

isr.close();

is.close();

pw.close();

ots.close();

socket.close();

} catch (UnknownHostException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

}

}

服务器端输出:**********服务器即将启动,等待客户端的连接*************客户已连接,报文内容::服务器你好!

客户端输出:服务器返回报文:欢迎使用

相关文章:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值