socket读取基站下多个手环的数据-服务器开启多个线程

用到的软件:
xframe myeclispe commix串口助手
硬件:
基站 手环
目的:
总共30个基站,一个基站下面最多10个手卡

package cn.com.gj;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
import cn.com.gj.ThreadReader;
public class Crc{
    //1,循环的基站
    public static void main(String[] args) {
                    ServerSocket server0;
                    try {
                        int m=6010;
                        server0 = new ServerSocket(m);
                        Send(server0,m);
                    } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }

                    ServerSocket server1;
                    try {
                        int m=6011;
                        server1 = new ServerSocket(m);
                        Send(server1,m);

                    } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }

                    ServerSocket server2;
                    try {
                        int m=6012;
                        server2 = new ServerSocket(m);
                        Send(server2,m);

                    } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                    ServerSocket server3;
                    try {
                        int m=6013;
                        server3 = new ServerSocket(m);
                        Send(server3,m);
                    } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }

                    ServerSocket server4;
                    try {
                        int m=6014;
                        server4 = new ServerSocket(m);
                        Send(server4,m);
                    } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }

                    ServerSocket server5;
                    try {
                        int m=6015;
                        server5 = new ServerSocket(m);
                        Send(server5,m);
                    } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                    ServerSocket server6;
                    try {
                        int m=6016;
                        server6 = new ServerSocket(m);
                        Send(server6,m);
                    } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }

                    ServerSocket server;
                    try {
                        int m=6017;
                        server = new ServerSocket(m);
                        Send(server,m);
                    } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }

                    try {
                        int m=6018;
                        ServerSocket server9= new ServerSocket(m);
                        Send(server9,m);
                    } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                    

                    try {
                        int m=6019;
                        ServerSocket server10= new ServerSocket(6019);
                        Send(server10,m);
                    } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                    
       


    public static void Send(ServerSocket server,int m){
        //新建一个连接客户端的线程
        Thread threadread;
            try {
                Socket socket = server.accept();
                System.out.println("socket:"+socket);
                new Thread(new ThreadReader(socket.getInputStream())).start();;
                new Thread(new ThreadReader(socket.getInputStream())).start();
                new Thread(new ThreadReader(socket.getInputStream())).start();
                new Thread(new ThreadReader(socket.getInputStream())).start();
                new Thread(new ThreadReader(socket.getInputStream())).start();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            System.out.println("没有基站连接!");
            return;
            
        }
        
    }
    }

程序的缺陷:
如果基站出了问题,程序就会在server.accept()这里阻塞,我还没有找到办法!有谁知道可以跟我说一下

猜你喜欢

转载自blog.csdn.net/qq_37591637/article/details/82770808