国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

談.Net和Java的socket機制比較_.Net教程

2024-07-10 12:50:54
字體:
供稿:網(wǎng)友

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

socket是基于TCP和UDP協(xié)議的高層接口,定義了收發(fā)數(shù)據(jù)的格式。Java的TCP服務(wù)中使用的Socket是一種流機制,即對于編程人員來說,處理socket只需要從Socket中獲取流,然后可以像處理本地流一樣來進行數(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機制提供了兩種實現(xiàn):一種是直接用Socket類,一種是使用對Socket再次封裝的TcpClient,UdpClient類來實現(xiàn)。.Net提供了一種統(tǒng)一的收發(fā)機制:NetworkStream。

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

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

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

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

 

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

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 京山县| 遂宁市| 汪清县| 贵德县| 佛冈县| 且末县| 黄冈市| 金平| 勃利县| 巴中市| 城固县| 报价| 安乡县| 桑植县| 公主岭市| 庐江县| 信阳市| 曲松县| 田阳县| 新建县| 乌拉特中旗| 遵化市| 大姚县| 安乡县| 团风县| 远安县| 商南县| 罗源县| 琼结县| 萨迦县| 象州县| 佛山市| 阜城县| 鸡西市| 溧水县| 曲水县| 武乡县| 泰州市| 大新县| 周口市| 都昌县|