java中搭建socket环境的方法,实例代码分享

在高新技术的不断应用下,人们对于科技软件的兴趣也越来越大,都开始主动学习编程语言。很多人开始学习java,以获得更好的生活水平。今天就来为大家介绍一下java中搭建socket环境的方法并用实例的代码为大家分享。一起来看看吧。

首先,来看看如何搭建socket环境:

socket通信分为客户端和服务器端。服务器端会不停的监听,当服务器端监听到有客户端向其发送通信请求的时候,双方建立连接。通信完毕后,双方关闭连接。

我们来看如何搭建客户端,代码展示如下:

public class SocketClient
{
    public static void main(String[] args) throws IOException
    {
        try
        {
            Socket socket = new Socket("127.0.0.1", 5200);
            System.out.println("client start ...");
            //向本机的52000端口发出客户请求
            BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
            //由系统标准输入设备构造BufferedReader对象
            PrintWriter write = new PrintWriter(socket.getOutputStream());
            //由Socket对象得到输出流,并构造PrintWriter对象
            BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
            //由Socket对象得到输入流,并构造相应的BufferedReader对象
            String readline;
            readline = br.readLine(); //从系统标准输入读入一字符串
            while (!readline.equals("end"))
            {
                //若从标准输入读入的字符串为 "end"则停止循环
                write.println(readline);
                //将从系统标准输入读入的字符串输出到Server
                write.flush();
                //刷新输出流,使Server马上收到该字符串
                System.out.println("Client:" + readline);
                //在系统标准输出上打印读入的字符串
                System.out.println("Server:" + in .readLine());
                //从Server读入一字符串,并打印到标准输出上
                readline = br.readLine(); //从系统标准输入读入一字符串
            } //继续循环
            write.close(); //关闭Socket输出流
            in .close(); //关闭Socket输入流
            socket.close(); //关闭Socket                       
        }
        catch (Exception e)
        {
            System.out.println("can not listen to:" + e); //出错,打印出错信息
        }
    }
}

下面是服务器端的搭建,代码展示如下:

public class SocketService
{
    public static void main(String[] args) throws IOException
    {
        SocketService socketService = new SocketService();
        socketService.oneServer();
    }
    public void oneServer()
    {
        try
        {
            ServerSocket server = null;
            try
            {
                server = new ServerSocket(5200);
                System.out.println("server start is ok...");
                //创建一个ServerSocket在端口5200监听客户请求
            }
            catch (Exception e)
            {
                System.out.println("can not listen to:" + e);
                //出错,打印出错信息
            }
            Socket socket = null;
            try
            {
                socket = server.accept();
                //使用accept()阻塞等待客户请求,有客户
                //请求到来则产生一个Socket对象,并继续执行
            }
            catch (Exception e)
            {
                System.out.println("Error." + e);
                //出错,打印出错信息
            }
            String line;
            BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
            //由Socket对象得到输入流,并构造相应的BufferedReader对象
            PrintWriter writer = new PrintWriter(socket.getOutputStream());
            //由Socket对象得到输出流,并构造PrintWriter对象
            BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
            //由系统标准输入设备构造BufferedReader对象
            System.out.println("Client:" + in .readLine());
            //在标准输出上打印从客户端读入的字符串
            line = br.readLine();
            //从标准输入读入一字符串
            while (!line.equals("end"))
            {
                //如果该字符串为 "bye",则停止循环
                writer.println(line);
                //向客户端输出该字符串
                writer.flush();
                //刷新输出流,使Client马上收到该字符串
                System.out.println("Server:" + line);
                //在系统标准输出上打印读入的字符串
                System.out.println("Client:" + in .readLine());
                //从Client读入一字符串,并打印到标准输出上
                line = br.readLine();
                //从系统标准输入读入一字符串
            } //继续循环
            writer.close(); //关闭Socket输出流
            in .close(); //关闭Socket输入流
            socket.close(); //关闭Socket
            server.close(); //关闭ServerSocket
        }
        catch (Exception e)
        { //出错,打印出错信息
            System.out.println("Error." + e);
        }
    }
}

以上就是关于java中搭建socket环境的方法的主要内容了。并且通过实际的代码为大家展示出来,方便更好的理解。如果你对java知识感兴趣,想要了解更多java实例,敬请关注奇Q工具网。

推荐阅读:

java微信公众号平台开发,搭建和介绍

eclipse搭建springboot该怎么实现?步骤有哪些?

springboot整合activemq要怎么搭建?需要哪些配置?