socket就是套接字,它是引用網路連線的特殊檔案描述符,由三個基本要素組成:
1: addressfamily(網路型別)
2: sockettype(資料傳輸型別)
3:protocoltype(採用的網路協議)
下面是可用於ip通訊的套接字組合及其常用的屬性和方法
ip連線領域有兩種通訊型別:面向連線的和無連線的,這裡我要講的是面向連線的,使用tcp協議來建立兩個ip的值端點之間的會話,下面是它的基本步驟。
a:建立乙個套接字
b:繫結本機的ip和埠
c:使用listen()方法監聽別人發過來的東西
d:如果監聽到連線,則可以使用send/receive來執行操作
e:完成後使用close()方法進行關閉
工作原理如圖所示:
下面的例子中,伺服器向所有連線的客戶端傳送訊息,實現多播功能
using服務端system;
using
system.collections.generic;
using
system.net;
using
system.net.sockets;
using
system.text;
using
system.threading;
namespace
serverfinally
}catch
(exception ex)
}//廣播訊息,將資訊傳送至所有已連線的客戶端
public
static
void broadcastmessage(string
data)
else
}foreach (clientcon disconnect in
disconnectsockets)}}
}
using伺服器端輔助類system;
using
system.collections.generic;
using
system.net.sockets;
using
system.text;
namespace
serverfinally
//建構函式 呼叫的時候為cliet賦值
public
clientcon(socket s)
//接受客戶端傳送的資訊
public
void
receivemessage()
}else
}catch
(exception ex)}}
//傳送訊息
public
void sendmessage(string
data)}}
using客戶端**system;
using
system.net;
using
system.net.sockets;
using
system.text;
using
system.threading;
namespace
clientfinally
", client.remoteendpoint.tostring());
//開啟執行緒 接收訊息
t = new
thread(receivemessage);
t.start();
//通過死迴圈傳送訊息
while (true
)
bytes =encoding.utf8.getbytes(mes);
//傳送訊息
client.send(bytes);}}
catch
(exception e)
}//接收訊息
private
static
void
receivemessage()
}catch}}
}}
先啟動伺服器端,在啟動客戶端,效果如下
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層開始,各元件由單獨的節點組...