Java实现简单的socket通信

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java实现简单的socket通信相关的知识,希望对你有一定的参考价值。

  今天学习了一下java如何实现socket通信,感觉难点反而是在io上,因为java对socket封装已经很完善了。

  今天代码花了整个晚上调试,主要原因是io的flush问题和命令行下如何运行具有package的类,不过最后问题基本都解决了,把代码贴出来供大家参考

server

public class TcpServer {
    public static void main(String[] args) throws Exception {
        ServerSocket server = new ServerSocket(9091);
        try {
            Socket client = server.accept();
            try {
                BufferedReader input =
                        new BufferedReader(new InputStreamReader(client.getInputStream()));
                boolean flag = true;
                int count = 1;
 
                while (flag) {
                    System.out.println(客户端要开始发骚了,这是第 + count + 次!);
                    count++;
                     
                    String line = input.readLine();
                    System.out.println(客户端说: + line);
                     
                    if (line.equals(exit)) {
                        flag = false;
                        System.out.println(客户端不想玩了!);
                    } else {
                        System.out.println(客户端说:  + line);
                    }
 
                }
            } finally {
                client.close();
            }
             
        } finally {
            server.close();
        }
    }
}

client

public class TcpClient {
    public static void main(String[] args) throws Exception {
        Socket client = new Socket(127.0.0.1, 9091);
        try {
            PrintWriter output =
                    new PrintWriter(client.getOutputStream(), true);
            Scanner cin = new Scanner(System.in);
            String words;
 
            while (cin.hasNext()) {
                words = cin.nextLine();
 
                output.println(words);
 
                System.out.println(写出了数据:  + words);
            }
 
            cin.close();
        } finally {
            client.close();
        }
    }
}

 

以上是关于Java实现简单的socket通信的主要内容,如果未能解决你的问题,请参考以下文章

Java中Socket 实现最简单的客户端与服务端通信

java socket实现服务端,客户端简单网络通信。Chat

简单的通信----使用Socket实现TCP协议

170411java Socket通信的简单例子(UDP)

170410java Socket通信的简单例子(TCP)

Java 通过实现简单的TCP通信程序来理解TCP通信