在了解網路程式設計前,我們需要了解一下套接字(socket),套接字是通訊的基石,是支援tcp/ip協議的路通訊的基本操作單元。可以將套接字看作不同主機間的程序進行雙間通訊的端點,它構成了單個主機內及整個網路間的程式設計介面。
socket(套接字)可以看成是兩個網路應用程式進行通訊時,各自通訊連線中的端點,這是乙個邏輯上的概念。它是網路環境中程序間通訊的api(應用程式程式設計介面),也是可以被命名和定址的通訊端點,使用中的每乙個套接字都有其型別和乙個與之相連程序。通訊時其中乙個網路應用程式將要傳輸的一段資訊寫入它所在主機的 socket中,該 socket通過與網路介面卡(nic)相連的傳輸介質將這段資訊送到另外一台主機的 socket中,使對方能夠接收到這段資訊。
套接字 = ip位址+埠號
建立對話視窗時,我們首先需要建立乙個伺服器端和乙個客戶端
1.客戶端
public
class
client
catch
(ioexception e)
}}
其中socket(「localhost」,6666),localhost 指的是本機的位址,或者直接寫127.0.0.1 也可以代表本機位址。6666為埠號。
2.伺服器端
public
class
server
//6.關閉流
closeutil.
closeall
(dis,dos,socket);}
catch
(ioexception e)
}}
3.closeutil類
public
class
closeutil
catch
(ioexception e)}}
}
到這裡,已經建立了乙個每次只可以通訊一句話的視窗會話,通訊一次後程式就會結束。 網路程式設計學習
1 64 bit系統的位址空間足夠大,不會出現沒有足夠的連續空間這種情況,不用擔心記憶體碎片問題,再說伺服器不是7 24執行的。linux kernel也大量用到了動態記憶體分配。既然作業系統核心都不怕動態分配記憶體造成碎片,應用程式為什麼要害怕?2 現在的記憶體分配器 malloc及其第三方實現 ...
網路程式設計學習 tcp ip程式設計
tcp 不記錄訊息邊界 udp 記錄訊息邊界 用到的結構體 struct sockaddr un 例子 struct sockaddr un serveraddr serveraddr.sun family af unix server socket strcpy serveraddr.sun pa...
MFC網路程式設計學習
網路程式設計人員可以呼叫windows作業系統套接字訪問通訊協議,套接字存在與通訊區域中,windows套接字只支援乙個通訊區域即網際域 af inet 套接字的型別有三類 流式套接字 sock stream 和資料報式套接字 sock dgram 和原始套接字 流式套接字基於tcp協議,資料報式套...