日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_av女人天堂污污污_视频一区**字幕无弹窗_国产亚洲欧美小视频_国内性爱精品在线免费视频_国产一级电影在线播放_日韩欧美内地福利_亚洲一二三不卡片区

談.Net和Java的socket機(jī)制比較_.Net教程

編輯Tag賺U幣
教程Tag:暫無Tag,歡迎添加,賺取U幣!

推薦:ASP.NET中9條應(yīng)該遵守的代碼編寫規(guī)范
寫了這么久程序代碼了,發(fā)現(xiàn)很多人的代碼很不規(guī)范。尤其在幾個(gè)人協(xié)作開發(fā)一個(gè)項(xiàng)目的時(shí)候,有些人寫的類名、變量名、方法等令人根本看不懂,可能會弄的整個(gè)項(xiàng)目都沒法組合完成。自認(rèn)為我的寫的代碼已經(jīng)很不錯(cuò)了,至少能夠見名知意。不過,看完這9條后我覺得我

socket是基于TCP和UDP協(xié)議的高層接口,定義了收發(fā)數(shù)據(jù)的格式。Java的TCP服務(wù)中使用的Socket是一種流機(jī)制,即對于編程人員來說,處理socket只需要從Socket中獲取流,然后可以像處理本地流一樣來進(jìn)行數(shù)據(jù)的收發(fā)。

例如:

DataOutputStream outToClient =new DataOutputStream(socket.getOutputStream());

BufferedReader inFromClient =new BufferedReader(new InputStreamReader(socket.getInputStream()));

String requestMessageLine = inFromClient.readLine();

outToClient.writeBytes(requestMessageLine);

.Net的Socket機(jī)制提供了兩種實(shí)現(xiàn):一種是直接用Socket類,一種是使用對Socket再次封裝的TcpClient,UdpClient類來實(shí)現(xiàn)。.Net提供了一種統(tǒng)一的收發(fā)機(jī)制:NetworkStream。

TcpClient和Socket的底層都是通過NetworkStream來傳送數(shù)據(jù)的。它們都可以產(chǎn)生一個(gè)NetworkStream。例如:

TcpClient client = server.AcceptTcpClient();NetworkStream stream = client.GetStream();

.Net的socket和Java的socket在收發(fā)數(shù)據(jù)上的最大不同是:Java的socket可以像普通的流一樣操作。.Net的socket有多種實(shí)現(xiàn)方法,可以直接用Socket.send()來發(fā),也可以用NetwordStream來發(fā)送,也可以用TcpClient來發(fā)送。但是每種實(shí)現(xiàn)在收發(fā)數(shù)據(jù)的時(shí)候都是通過顯示的對緩沖區(qū)進(jìn)行操作。例如:

byte[] datasize = new byte[4]; networkStream.Write(datasize,0,4);socket.Send(datasize, 0,datasize.Length, 0);

 

分享:分析.NET上執(zhí)行多線程應(yīng)該注意的兩點(diǎn)
線程管理 線程管理現(xiàn)在變得越來越容易了。在.NET架構(gòu)中,你可以從線程池中獲取線程。線程池是一個(gè)生成線程的工廠,如果它已經(jīng)生成了一定數(shù)量的線程且還沒有被破壞的話,對它的調(diào)用會被阻止。但是,如何確保不會有太多的線程在規(guī)定時(shí)間內(nèi)運(yùn)行?畢竟,如果每個(gè)

來源:模板無憂//所屬分類:.Net教程/更新時(shí)間:2009-05-18
相關(guān).Net教程