C 高階學習第六章網路Socket1 Tcp協議

2021-08-09 19:12:14 字數 2099 閱讀 5860

using system.net.sockets;

1.建立socket

socket tcpserver=new socket(addressfamily.internetwork,sockettype.stream,protocoltype.tcp);

2.繫結ip跟埠號  ip找到計算機    埠號找到軟體 範圍0-60000

ipaddress ipaddress=new ipaddress(new byte);        //ip位址 在搜尋器上cmd,然後搜ipconfig查詢ip位址

endpoint point=new ipendpoint(ipaddress,7788);  ipendpoint是對ip+埠做了一層封裝的類

tcpserver.bind(point);  向作業系統申請乙個可用的ip和埠號 用來通訊

3.開始監聽(等待客戶端做連線)

tcpserver.listen(100); 引數是最大連線數

console.writeline("開始監聽");

4.接收連線

socket clientsocket= tcpserver.accept();  暫停當前執行緒,直到有乙個客戶端連線過來,之後進行下面的**

console.writeline("乙個客戶端連線過來了")

使用返回的socket跟客戶端做通訊

5.傳送訊息

string message="hello 歡迎你";

byte date = encoding.utf8.getbytes(message); 對字串做編碼,得到乙個字串的位元組陣列 c

lientsocket.send(date);

console.writeline("向客戶端傳送了一條資料")

byte date2=new byte[1024]; 建立乙個位元組陣列用來當做容器,去承接客戶端傳送過來的資料

int length=clientsocket.receive(date2);

string message2=encoding.utf8.getstring(date2,0,length); 把位元組資料轉化成乙個字串

console.writeline("接收到了乙個從客戶端傳送過來的訊息"+message2)

console.readkey();

1.建立乙個socket

socket tcpclient = new socket(addressfamily.internetwork,sockettype.stream,protocoltype.tcp);

2.發起建立連線的請求

ipaddress ipaddress=ipaddress.parse("10,28,120,164") 可以把乙個字串的ip位址轉化成乙個ipaddress的物件

endpoint point=new ipendpoint(ipaddress,7788);  保持一致

tcpclient.connect(point);  通過ip+埠號定位乙個要連線到的伺服器端

3接收訊息

byte date=new byte[1024];

int length=tcpclient.receive(date)   這裡傳遞乙個byte陣列,實際上這個date陣列用來接收資料

length返回值表示接收了多少位元組的資料

string message=encoding.utf8.getstring(date,0,length); 從0號開始到length長度,只把接收的資料做乙個轉化

console.writeline(message);

//向伺服器端傳送訊息

string message2=console.readline(); 讀取使用者的輸入,把輸入傳送到伺服器端

tcpclient.send(encoding.utf8.getbytes(message2)); 把字串轉化為位元組陣列,然後傳送到伺服器端

第六章 網路配置

路由器的工作原理 1 路由器接收來自它連線的某個 的資料。2 路由器將資料向上傳遞。3 路由器檢查ip頭部中的目的位址,如果目的位址位於發出資料的那個網路,那麼路由器就放下被認為已經達到目的地的資料。4 如果資料要送往另乙個網路,那麼路由器就查詢路由表,以確定資料要 到的目的地。5 路由器確定哪個介...

mysql第六章 第六章 mysql日誌

第六章 mysql日誌 一 錯誤日誌 錯誤日誌的預設存放路徑是 mysql 存放資料的地方 hostname.err 1.修改錯誤日誌存放路徑 mysqld log error data mysql mysql.log 2.檢視配置命令 show variables like log error 3...

第六章 高階I O函式

1 write 函式定義 ssize t write int fd,const void buf,size t count 函式說明 write 會把引數buf所指的記憶體寫入count個位元組到引數放到所指的檔案內。返回值 如果順利write 會返回實際寫入的位元組數。當有錯誤發生時則返回 1,錯...