(1)socket可以看成是使用者程序與核心網路協議的程式設計介面。
(2)socket不僅可以用於本機的程序間通訊,還可以用於網路不同主機的程序間通訊。異構架構可以不同(手機pc)
ipv4套介面位址結構通常也稱為「網際套接字位址結構」,它以sockaddr_in命名,定義在標頭檔案中
struct sockaddr_in ;
man 7 ip
位元組序(1)大端位元組序
最高有效位(msb:most significant bit)儲存於最低記憶體位址處,最低有效位(lsb:lowest significant bit)儲存於最高記憶體位址處。
(2)小端位元組序
最高有效位(msb:most significant bit)儲存於最高記憶體位址處,最低有效位(lsb:lowest significant bit)儲存於最低記憶體位址處。
主機位元組序
不同的主機有不同的位元組序,如x86為小端位元組序,motorola 6800為大端位元組序,arm位元組序是可配置的。
網路位元組序
網路位元組序規定為大端位元組序。
uint32_t htnol(uint32_t hostlong);
uint16_t htnos(uint16_t hostshort);
uint32_t ntnol(uint32_t netlong);
uint16_t ntnol(uint16_t netshort);
說明:h代表host;n代表network;s代表short;l代表long
流式套接字(sock_stream)
提供面向連線的,可靠的資料傳輸服務,資料無差錯,無重複的傳送,且按傳送順序接收。
資料報式套接字(sock_dream)
提供無連線服務。不提供無措保證,資料可能丟失或重複,並且接收順序混亂。
原始套接字(sock_raw)
linux下埠的劃分使用是由iana(internet assigned numbers authority,網際網路已分配數值權威機構)維護的,埠號被劃分為3個段。
1、0~1023,這些埠有iana分配和控制,可能的話,相同埠號就分配給tcp、udp和sctp的同一給定服務。如80埠被賦予web服務
2、1024~49151,這些埠不受iana控制,不過由iana登記並提供他們的使用情況清單,已方便整個群體。相同埠號也分配給tcp和udp的同一給定服務。如6000~6003埠分配給這兩種協議的x window伺服器。
3、49152~65535,動態埠。iana不管這些埠,就是我們所說的臨時埠。(49152這個魔數是65536的四分之三)。
socket程式設計(一)
include include pragma comment lib,ws2 32.lib using namespace std int main int argc,char argv 建立套接字 socket slisten socket af inet,sock stream,ipproto ...
socket程式設計(一)
1.socket可以看成是使用者程序與核心網路協議棧的程式設計介面。2.socket不僅可以用於本機的程序間通訊,還可以用於網路上不同主機的程序間通訊。底層那部分已經被核心實現了,也就是tcp ip協議棧已經屬於核心的一部分了,應用層是使用者要實現的,它屬於使用者程序的部分,也就是工作在使用者空間,...
Socket程式設計(一)
class program endpoint point new ipendpoint address,7788 封裝ip和埠號 server.bind point 3.開始監聽,等待客戶端做連線 server.listen 100 最大連線數是100 console.writeline serve...