qiyadeng

专注于Java示例及教程
posts - 84, comments - 152, trackbacks - 0, articles - 34

一个宽带计费接口程序

Posted on 2005-09-22 14:28 qiyadeng 阅读(469) 评论(0)  编辑  收藏

   一般宽带计费是由一些专门做通讯的公司来做,不会专门针对某个公司内部系统。而有些公司需要这个宽带计费的程序和他们内部系统能够通讯,这样就产生了这个接口程序。
   一般宽带计费的程序都会提供一套通讯的标准来给接口,可以是串口通讯方式,TCP/IP,还可以是文件共享。现在一般都是利用TCP/IP的通讯方式。对于程序员来说其实就是使用socket和接口机进行通讯,而且另外也要能够监听原来的内部系统发过来的通讯消息,和接口机进行通讯。
NC.BMP
这样就牵涉到多线程的问题,一方面要监听多个来源,一方面要准备接受另外的来源。

 1        ServerSocket ss = null;
 2        //ServerSocket,wait for connect for vfpClient
 3        Socket st = null;
 4        //connect to PMSI Host
 5        /**
 6         *    连接到PMSI
 7         * 
 8         */

 9        try {
10            st = new Socket(PMSIIP, PMSIPORT);
11        }
 catch (UnknownHostException e) {
12            System.out.println("找不到主机:" + PMSIIP + "请检查网络或是确定主机地址!");
13            e.printStackTrace();
14        }
 catch (IOException e) {
15            System.out.println("" + PMSIIP + "主机建立连接出错!");
16            e.printStackTrace();
17        }

18
19        /**
20         * 为客户端提供监听服务
21         * 
22         * 
23         */

24
25        try {
26            ss = new ServerSocket(listenPort);
27        }
 catch (IOException e1) {
28            System.out.println("试图在端口" + listenPort + "监听失败!");
29            e1.printStackTrace();
30        }

31
32        ListenThread listenThread = new ListenThread(st, ss);
33        listenThread.start();
34        SqlThread sqlThread = new SqlThread(st);
35        sqlThread.start();
36

这里创建了两个线程,ListenThread,SqlThread,分别用于监听,和处理计费的信息。

只有注册用户登录后才能发表评论。


网站导航: