伺服器:
第一步,準備socket套接字:socket sockfd = new socket(addressfamily.internetwork,sockettype.stream,protocoltype.tcp);
:endpoint point = new ipendpoint(ip,7788);
第四步,監聽客戶端是否連線:sockfd.listrn(1024);// 最大的連線數
第五步,記錄及相應客戶端的連線請求:socket client_sockfd = sockfd.accept();
第六步,向客戶端傳送資料:client_sockfd.send(data);//data可能要做一些轉換
第七步,接收資料:sockfd.recv();
客戶端與之相似,只需要做微小的改動即可。
客戶端不需要繫結,只需要與伺服器進行連線:sockfd.connect(point); //sockfd是客戶端的套接字
下面是乙個沒有用到執行緒的小示例:
server
static void main(string args)
);
ipaddress ip = ipaddress.parse("192.168.1.7");
// 準備埠號
endpoint point = new ipendpoint(ip,5678);
//繫結
sockfd.bind(point);
//監聽客戶端的最大連線數
sockfd.listen(1024);
//響應客戶端的連線請求和記錄客戶端的ip位址和埠號
socket client_sockfd = sockfd.accept();
string message = "hello socket!";
//byte data = new byte[1024];
// 向客戶端傳送資料
byte data = encoding.utf8.getbytes(message);
client_sockfd.send(data);
// 接收客戶端傳送的資料
byte data2 = new byte[1024];
int lenth = client_sockfd.receive(data2);
string buf = encoding.utf8.getstring(data2, 0, lenth);
console.writeline(buf);
console.readkey();
}
}client
static void main(string args)
C 中socket程式設計
摘自 sockets 套接字 程式設計有三種,流式套接字 sock stream 資料報套接字 sock dgram 原始套接字 sock raw 基於tcp的socket程式設計是採用的流式套接字。伺服器端程式設計的步驟 1 載入套接字型檔,建立套接字 wsastartup socket 2 繫結...
C 中socket程式設計
摘自 sockets 套接字 程式設計有三種,流式套接字 sock stream 資料報套接字 sock dgram 原始套接字 sock raw 基於tcp的socket程式設計是採用的流式套接字。伺服器端程式設計的步驟 1 載入套接字型檔,建立套接字 wsastartup socket 2 繫結...
C 中socket程式設計
摘自 sockets 套接字 程式設計有三種,流式套接字 sock stream 資料報套接字 sock dgram 原始套接字 sock raw 基於tcp的socket程式設計是採用的流式套接字。伺服器端程式設計的步驟 1 載入套接字型檔,建立套接字 wsastartup socket 2 繫結...