一个简单的Java测试类型服务器
  TEZNKK3IfmPf 2023年11月14日 16 0

用Java写的一个极其简单的服务器,该服务器实现一个简单功能:绑定本地端口,等待客户端发起socket套接字连接,接受连接,服务器为该socket连接创建一个线程,在线程中,每隔1秒发送一条简单的时间戳消息:

 

import java.io.DataOutputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;


public class MainClass {
    public static void main(String[] args) {
        ServerSocket serverSocket;
        int seq = 0;
        try {
            serverSocket = new ServerSocket(9999);

            while (true) {
                System.out.println("等待连接...");
                final Socket clientSocket = serverSocket.accept();
                System.out.println("接受连接 " + seq);
                System.out.println("-----");

                final int count = seq;
                new Thread(new Runnable() {
                    @Override
                    public void run() {
                        DataOutputStream dataOutputStream;
                        try {
                            OutputStream os = clientSocket.getOutputStream();
                            dataOutputStream = new DataOutputStream(os);
                        } catch (Exception e) {
                            throw new RuntimeException(e);
                        }

                        while (true) {
                            String msg = count + " 服务器 " + System.currentTimeMillis();
                            try {
                                dataOutputStream.writeUTF(msg);
                                System.out.println("写入数据:" + msg);

                                dataOutputStream.flush();

                                Thread.sleep(1000);
                            } catch (Exception e) {
                                //e.printStackTrace();
                                System.out.println(count + " 连接异常");
                                break;
                            } finally {
                                try {
                                    dataOutputStream.close();
                                    clientSocket.close();
                                } catch (Exception e) {
                                    e.printStackTrace();
                                }
                            }
                        }
                    }
                }).start();

                seq++;
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

运行输出:

一个简单的Java测试类型服务器

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月14日 0

暂无评论

推荐阅读
  TEZNKK3IfmPf   19天前   42   0   0 java
TEZNKK3IfmPf