1. 兩個軟體如何傳送訊息的?
底層就是通過socket實現的
基於socket實現客戶端向伺服器:
socket scoket = new socket(目標ip或網域名稱,目標埠);//建立連線,如果網域名稱解析不了會拋unknownhostexception的異常//讀取從伺服器返回的資訊(流)
bufferedreader in = new bufferedreader(new inputstreamreader(socket.getinputstream()));
//向伺服器寫入資料
printwriter out = new printwriter(socket.getoutputstream(),true);
scanner scan = new scanner(system.in);
string word ;
while(scan.hasnext())
in.readline();
scan.close();
實現伺服器向客戶端的:
serversocket ss = newserversocket(埠號);
socket socket = ss.accept();
上述只能實現訊息一條一條傳送,但是實際情況中經常是多條訊息,通常採用連線池的方法維護socket
jms訊息傳送機制
用於在兩個應用程式之間,或者分布式系統中傳送訊息消費訊息,進行非同步通訊,資料互動。jms 使您能夠通過訊息收發服務(有時稱為訊息中介程式或路由器)從乙個 jms 客戶機向另乙個 jms客戶機傳送訊息,並且通過提供標準的產生、傳送、接收訊息的介面簡化企業應用的開發。
訊息是一種型別的物件,由兩部分組成:報文頭和訊息主體。報頭由路由資訊以及有關該訊息的元資料組成。訊息主體則攜帶著應用程式的資料
面試問題總結
學了一年多的語言還沒有真正的搞清楚什麼是面向過程什麼是物件導向,今天整理一下,還希望大家可以提出自己的寶貴意見,謝謝。第一大問題面向過程和物件導向的理解 向過程的概念 面向過程就是分析出我們完成一件事情所需要的步驟,然後用函式把這些步驟一步一步的實現,使用的時候在一步一步的按順序的呼叫。就像是洗臉 ...
面試問題總結
參考 字首表示式的計算機求值 波蘭式 從右至左掃瞄表示式,遇到數字時,將數字壓入堆疊,遇到運算子時,彈出棧頂的兩個數,用運算子對它們做相應的計算 棧頂元素 op 次頂元素 並將結果入棧 重複上述過程直到表示式最左端,最後運算得出的值即為表示式的結果。字尾表示式的計算機求值 逆波蘭式 與字首表示式類似...
面試問題總結(一)
union和union all的區別 union要進行重複值掃瞄,效率比union all要低 union會自動壓縮多個結果集合中的重複結果,而union all則將所有的結果全部顯示出來,不管是不是重複。注意 使用union和union all必須保證各個select 集合的結果有相同個數的列,並...