c socket TCP同步網路通訊

2021-09-04 11:39:32 字數 3482 閱讀 9496

socket就是套接字,它是引用網路連線的特殊檔案描述符,由三個基本要素組成:

1: addressfamily(網路型別)

2: sockettype(資料傳輸型別)

3:protocoltype(採用的網路協議)

下面是可用於ip通訊的套接字組合及其常用的屬性和方法

ip連線領域有兩種通訊型別:面向連線的和無連線的,這裡我要講的是面向連線的,使用tcp協議來建立兩個ip的值端點之間的會話,下面是它的基本步驟。

a:建立乙個套接字

b:繫結本機的ip和埠

c:使用listen()方法監聽別人發過來的東西

d:如果監聽到連線,則可以使用send/receive來執行操作

e:完成後使用close()方法進行關閉

工作原理如圖所示:

1.伺服器端

usingsystem.text;

usingsystem.threading.tasks;

usingsystem.net;

usingsystem.net.sockets;

usingsystem.threading;

namespacesocket服務端

的客戶端建立聯絡",clientip);

while(true)//用死迴圈不斷執行

",encoding.ascii.getstring(data, 0, recv));

console.write("輸入要傳送的資訊:");

string input = console.readline();

clientsocket.send(encoding.ascii.getbytes(input));

}

catch(exception ex)

", ex.message);

}

}

console.writeline("斷開連線");

clientsocket.close();

socket.close();

}

}

}

2.客戶端

usingsystem;

usingsystem.collections.generic;

usingsystem.linq;

usingsystem.text;

usingsystem.threading.tasks;

usingsystem.net;

usingsystem.net.sockets;

namespacesocket客戶端

",strdata);

}

}

catch(socketexception ex)

console.writeline("斷開連線...");

socket.shutdown(socketshutdown.both);

socket.close();

console.readkey();

}

}

}

接下來對上面一些內容進行解釋

a.埠號:32位無符號整形,範圍是0~65535,0~1023被系統程序和通訊協議使用,1024~49251是使用者可以使用的埠

b.ipaddress類: 該類有乙個parse()方法,可以把點分的十進位制ip轉化為ipadress類, 它還有四個可讀字段

none:用於代表本地系統上沒有網路介面

c.ipendpoint是乙個埠和ip位址的繫結,可以代表乙個服務,用來socket通訊,可以通過兩種方法構造

ipendpoint( long address, int pot);

ipendpoint( ipaddress address, int pot)'

d. accept 以同步方式從偵聽套接字,在連線請求佇列中提取第乙個掛起的連線請求,然後建立並返回乙個新socket。 不能使用此返回socket為接受任何其他連線的連線佇列。 但是,可以呼叫remoteendpoint方法所返回的socket來標識遠端主機的網路位址和埠號。

e.receive()從繫結的 socket套接字接收資料,將資料存入接收緩衝區。

執行時先啟動伺服器端,再啟動客戶端

c socket TCP同步網路通訊

socket就是套接字,它是引用網路連線的特殊檔案描述符,由三個基本要素組成 1 addressfamily 網路型別 2 sockettype 資料傳輸型別 3 protocoltype 採用的網路協議 下面是可用於ip通訊的套接字組合及其常用的屬性和方法 ip連線領域有兩種通訊型別 面向連線的和...

Linux同步網路時間

linux伺服器執行久時,系統時間就會存在一定的誤差,一般情況下可以使用date命令進行時間設定,但在做資料庫集群分片等操作時對多台機器的時間差是有要求的,此時就需要使用ntpdate進行時間同步 安裝 yum install ntpdate ntpdate簡單用法 ntpdate ip ntpda...

同步網路 SynchGHS演算法

1 這個演算法分層構造各元件。對於每個k,第k層的各元件構成了乙個生成森林,其中k層第一元件都包含一棵樹,該樹是mst的乙個子圖。k層的每個元件至少有2 k個節點。在每一層中,每個元件有乙個獨特的領導者節點。程序允許按乙個固定的輪數o n 來完成每層的工作。2 演算法從0層開始,各元件由單獨的節點組...