資源簡介
基于socket的一個簡單的server和client。 有詳細的注釋。 使用: ./server //啟動服務器 ./client 服務器IP地址 //啟動客戶端 服務器輸入要下載的東西,即可。 http://blog.csdn.net/linbounconstraint/article/details/48524445
代碼片段和文件信息
/*******************************************************
?-----------------------------------------------
sockaddr_in結構體
struct?sockaddr_in
{
?
short?sin_family;
/*Addressfamily一般來說AF_INET(地址族)PF_INET(協議族)*/
unsigned?short?sin_port;
/*Portnumber(必須要采用網絡數據格式普通數字可以用htons()函數轉換成網絡數據格式的數字)*/
struct?in_addr?sin_addr;
/*Internetaddress*/
unsigned?char?sin_zero[8];
/*Samesizeasstructsockaddr沒有實際意義只是為了 跟SOCKADDR結構在內存中對齊*/
?
};
在linux下:
struct?in_addr?sin_addr;
in_addr結構
typedef?struct?in_addr
{
unsigned?long?s_addr;
};
------------------------------------------------
#include
int?setsockopt(int?sockfd?int?level?int?optname?const?void*?optval?socklen_t*?optlen);
//sockfd要設置的目的套接字
//level套接字的控制層次
//optname?optval?optlen是三個相關的參數,通過不同的搭配可以設置不同的功能
http://www.cnblogs.com/coder2012/archive/2013/04/02/2995889.html
------------------------------------------------
server_addr.sin_addr.s_addr?=?htonl(INADDR_ANY);?
sin_addr.s_addr是ip地址。
作為服務器,你要綁定【bind】到本地的IP地址上進行監聽【listen
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????6577??2015-09-20?17:23??server.c
?????文件????????6441??2015-09-20?17:21??函數說明.c
?????文件???????12516??2015-09-20?18:20??client.c
- 上一篇:試卷自動生成系統開題報告
- 下一篇:可用于檢測圖像被篡改位置的脆弱水印
評論
共有 條評論