Socket客戶端和伺服器的簡單通訊

2021-08-15 23:35:19 字數 2155 閱讀 9657

客戶端**

[csharp]view plain

copy

using

system;  

using

system.net;       

// 獲取網路資訊相關資料使用

using

system.net.sockets;   

// 定義socket類的時候使用

using

system.text;      

// 資料轉換的時候使用

namespace

client  

// 功能二: 向某個特定伺服器傳送訊息

// 1.建立socket例項

socket client_socket = new

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

// 2.建立連線點ipendpoint(測試的時候這裡不可以寫自己的位址哦)

string

strip = 

"192.168.1.102"

;  // 其實代表的就是網路的終點,也就是我們要連線的伺服器位址和埠號【埠號是用來識別應用程式的】

// 如果沒有埠號,當電腦受到資訊的時候就無法識別這條訊息是該傳送給qq還是該傳送給微博,類似這個意思

ipendpoint ipendpoint = new

ipendpoint (ipaddress.parse (strip), 2112);  

// 3.建立連線

client_socket.connect (ipendpoint);  

// 4.建立資料

string

prefix = 

"long:"

;   

string

content = console.readline ();  

// 「\r是用來檢測readline的line,但是readline不會自動結束,需要回車,所以\n是用來檢測回車的」

string

suffix = 

"\r\n"

;  // 5.資料轉換,把字串轉換成位元流(使用system.text)

byte

besended = encoding.utf8.getbytes (prefix + content + suffix);  

// 6.傳送資料,將陣列傳送給ipendpoint中定義的位址

client_socket.send (besended);  

}  }  

}  伺服器有兩種**:

【伺服器**方式一】

[csharp]view plain

copy

/// 

/// myfirstserver  伺服器端程式(socket實現)

/// 

using

system;  

using

system.net.sockets;  

using

system.net;  

using

system.text;  

namespace

myfirstserver  

}  // 5.3 結束當前客戶連線

socket_client.close ();  

}  }  

}  }  

【伺服器**方式二】

[csharp]view plain

copy

/// 

/// mysecondserver 伺服器端程式(tcplistener實現)

/// 

using

system;  

using

system.net.sockets;  

using

system.net;  

using

system.text;  

namespace

mysecondserver  

}  // 3.4 關閉客戶端

client.close ();  

}  }  

}  }  

Redis客戶端和伺服器

一 redis客戶端 redisserver結構中儲存了所有客戶端的狀態資訊。struct redisserver 命令client list可以列出目前所有連線到伺服器的客戶端。命令client setname name 可以給客戶端設定乙個名字。偽客戶端 由於伺服器必須接收來自客戶端的命令以執行...

Redis 客戶端和伺服器

客戶端的資料結構 typedef struct redisclient redisclient 名字 name 標誌值 flags 指向客戶端正在使用的資料庫的指標,以及該資料庫的號碼 當前要執行的命令 命令的引數 命令的個數,以及指向命令實現函式的指標 輸入緩衝區 querybuf 輸出緩衝區 複...

socket 客戶端和服務端通訊

客戶端要連線伺服器 首先要知道伺服器的ip位址。而伺服器裡有很多的應用程式,每乙個應用程式對應乙個埠號 所以客戶端想要與伺服器中的某個應用程式進行通訊就必須要知道那個應用程式的所在伺服器的ip位址,及應用程式所對應的埠號 首先建立乙個解決方案,在解決方案下建立乙個 socket通訊 windows窗...