socket就是套接字,它是引用網路連線的特殊檔案描述符,由三個基本要素組成:
1: addressfamily(網路型別)
2: sockettype(資料傳輸型別)
3:protocoltype(採用的網路協議)
下面是可用於ip通訊的套接字組合及其常用的屬性和方法
ip連線領域有兩種通訊型別:面向連線的和無連線的,這裡我要講的是面向連線的,使用tcp協議來建立兩個ip的值端點之間的會話,下面是它的基本步驟。
a:建立乙個套接字
b:繫結本機的ip和埠
c:使用listen()方法監聽別人發過來的東西
d:如果監聽到連線,則可以使用send/receive來執行操作
e:完成後使用close()方法進行關閉
工作原理如圖所示:
1.伺服器端
using
system.text;
using
system.threading.tasks;
using
system.net;
using
system.net.sockets;
using
system.threading;
namespace
socket服務端
的客戶端建立聯絡"
,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.客戶端
using
system;
using
system.collections.generic;
using
system.linq;
using
system.text;
using
system.threading.tasks;
using
system.net;
using
system.net.sockets;
namespace
socket客戶端
"
,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層開始,各元件由單獨的節點組...