一般寬帶計費是由一些專門做通訊的公司來做,不會專門針對某個公司內部系統。而有些公司需要這個寬帶計費的程序和他們內部系統能夠通訊,這樣就產生了這個接口程序。
一般寬帶計費的程序都會提供一套通訊的標準來給接口,可以是串口通訊方式,TCP/IP,還可以是文件共享。現在一般都是利用TCP/IP的通訊方式。對于程序員來說其實就是使用socket和接口機進行通訊,而且另外也要能夠監聽原來的內部系統發過來的通訊消息,和接口機進行通訊。
這樣就牽涉到多線程的問題,一方面要監聽多個來源,一方面要準備接受另外的來源。
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

2

3

4

5


6

7

8

9



10

11



12

13

14



15

16

17

18

19


20

21

22

23

24

25



26

27



28

29

30

31

32

33

34

35

36

這里創建了兩個線程,ListenThread,SqlThread,分別用于監聽,和處理計費的信息。