09計應一班餘姍姍
/* server.c */
#include
/* 包含標準函式庫中輸入輸出函式的標頭檔案 */
#include
/* 包含標準庫函式的標頭檔案 */
#include
/* 包含字元陣列函式定義的標頭檔案 */
#include
/* ipv4和ipv6的位址格式定義在netinet/in.h中 */
#include "wrap.h"/* 系統函式加上錯誤處理**包裝成新的函式的標頭檔案 */
#define maxline 80/* maxline為80*/
#define serv_port 8000/* 巨集定義乙個變數serv_port為8000*/
int main(int argc, char **argv)/*主函式 */
if (i == fd_setsize) /*條件i == fd_setsize表示已經出錯*/
fd_set(connfd, &allset);/* 把connfd放到檔案描述符集合allset裡 面*/
if (connfd > maxfd)/*如果條件connfd > maxfd */
maxfd = connfd; /* 把connfd賦值給 maxfd 保證已有套接字描述符中 maxfd 值是最大的,在select 中要用到maxfd*/
if (i > maxi)/* 如果條件i > maxi */
maxi = i;/*maxi 表示已用client[i]的最大索引*/
if (--nready == 0)/* if條件nready自減1等於0 */
continue;}
for (i = 0; i <= maxi; i++)/* for 檢查 0到maxi的client[i]裡儲存的套接字描述符*/
else
if (--nready == 0)/* 條件nready自減1等於0 */
break;}
} }
}執行結果如下:
[root@localhost opt]# ./server
accepting connections ...
received from 127.0.0.1 at port 50390
received from 127.0.0.1 at port 50390
received from 127.0.0.1 at port 50390
[root@localhost opt]# netstat -apn|grep 8000
tcp00 0.0.0.0:80000.0.0.0:*listen4012/server
[root@localhost opt]# ./client
ajfdsakgworfwrpjhfewhfjsncoiwdhksnxciowfionc
ajfdsakgworfwrpjhfewhfjsncoiwdhksnxciowfionc
ncxhwoiefncsdjkuieckdsajidejnc
ncxhwoiefncsdjkuieckdsajidejnc
ndewanfjkawfsjfiowfmniwamcijfi
ndewanfjkawfsjfiowfmniwamcijfi
/*伺服器端負責接受客戶端的資料請求,把對乙個客戶端的資料**給每個與伺服器建立鏈結的客戶端*/
0
給主人留下些什麼吧!~~
server c客戶端伺服器select 趙超越
班級 09 計算機應 用技術1班 姓名 趙超越 學號 0906041011 server.c include include include include include wrap.h define maxline 80 巨集定義 maxline 為 80 define serv port 800...
伺服器與客戶端
建立socket操作,建立流式套接字,返回套接字型大小socksrv socket socket int af,int type,int protocol 第乙個引數,指定位址簇 tcp ip只能是af inet,也可寫成pf inet socket socksrv socket af inet,s...
UDP 客戶端伺服器
udp 客戶端 include include include include include define size 100 define ip 127.0.0.1 define port 10086 int main struct sockaddr in addr 建立socket udp so...