接下来我们将会实现一个简单的 Socket,服务器端只发给客户端信息,再由客户端打印出来的例子,代码如下:
- int port = 4343; //端口号
- // Socket 服务器端(简单的发送信息)
- Thread sThread = new Thread(new Runnable() {
- @Override
- public void run() {
- try {
- ServerSocket serverSocket = new ServerSocket(port);
- while (true) {
- // 等待连接
- Socket socket = serverSocket.accept();
- Thread sHandlerThread = new Thread(new Runnable() {
- @Override
- public void run() {
- try (PrintWriter printWriter = new PrintWriter(socket.getOutputStream())) {
- printWriter.println("hello world!");
- printWriter.flush();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- });
- sHandlerThread.start();
- }
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- });
- sThread.start();
- // Socket 客户端(接收信息并打印)
- try (Socket cSocket = new Socket(InetAddress.getLocalHost(), port)) {
- BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(cSocket.getInputStream()));
- bufferedReader.lines().forEach(s -> System.out.println("客户端:" + s));
- } catch (UnknownHostException e) {
- e.printStackTrace();
- } catch (IOException e) {
- e.printStackTrace();
- }
- 调用 accept 方法,阻塞等待客户端连接;
- 利用 Socket 模拟了一个简单的客户端,只进行连接、读取和打印;
(编辑:宿州站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|