資源簡介
基于socket的一個(gè)簡單的server和client。 有詳細(xì)的注釋。 使用: ./server //啟動(dòng)服務(wù)器 ./client 服務(wù)器IP地址 //啟動(dòng)客戶端 服務(wù)器輸入要下載的東西,即可。 http://blog.csdn.net/linbounconstraint/article/details/48524445
代碼片段和文件信息
/*******************************************************
?-----------------------------------------------
sockaddr_in結(jié)構(gòu)體
struct?sockaddr_in
{
?
short?sin_family;
/*Addressfamily一般來說AF_INET(地址族)PF_INET(協(xié)議族)*/
unsigned?short?sin_port;
/*Portnumber(必須要采用網(wǎng)絡(luò)數(shù)據(jù)格式普通數(shù)字可以用htons()函數(shù)轉(zhuǎn)換成網(wǎng)絡(luò)數(shù)據(jù)格式的數(shù)字)*/
struct?in_addr?sin_addr;
/*Internetaddress*/
unsigned?char?sin_zero[8];
/*Samesizeasstructsockaddr沒有實(shí)際意義只是為了 跟SOCKADDR結(jié)構(gòu)在內(nèi)存中對齊*/
?
};
在linux下:
struct?in_addr?sin_addr;
in_addr結(jié)構(gòu)
typedef?struct?in_addr
{
unsigned?long?s_addr;
};
------------------------------------------------
#include
int?setsockopt(int?sockfd?int?level?int?optname?const?void*?optval?socklen_t*?optlen);
//sockfd要設(shè)置的目的套接字
//level套接字的控制層次
//optname?optval?optlen是三個(gè)相關(guān)的參數(shù),通過不同的搭配可以設(shè)置不同的功能
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地址。
作為服務(wù)器,你要綁定【bind】到本地的IP地址上進(jìn)行監(jiān)聽【listen
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件????????6577??2015-09-20?17:23??server.c
?????文件????????6441??2015-09-20?17:21??函數(shù)說明.c
?????文件???????12516??2015-09-20?18:20??client.c
評論
共有 條評論