freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于linux網(wǎng)絡(luò)編程課程設(shè)計(參考版)

2025-06-21 18:19本頁面
  

【正文】 } endif(4)編寫Makefile文件all: gcc g o tcp_server gcc g o tcp_client clean: rm tcp_server tcp_client(5)make。}(3)ifndef __NETWORK__H__define __NETWORK__H__ include include include include include include include include include sys/ include sys/ include sys/ include include include include sys/ include sys/ include arpa/ include netinet/ include include sys/ include sys/ pragma once pragma pack(4) define BUFFER_SIZE 1024 define Server_port 8888 define BACKLOG 5 define ADDR_SIZE sizeof(struct sockaddr_in) define RUNNING 1 define Err_sys(info) { fprintf(stderr,%s:%s\n,info,strerror(errno))。 } //write set }//else if } //while close(sock_fd)。 rc = recv(sock_fd,buffer_r,BUFFER_SIZE,0)。readfds)) { memset(buffer_r,0,BUFFER_SIZE)。 wc = send(sock_fd,buffer_w,BUFFER_SIZE,0)。 fflush(stdout)。readfds)) { memset(buffer_w,0,BUFFER_SIZE)。 } else { printf(1111111111111111\n)。t_val)) == 1) Err_sys(Client select:) else if(ret == 0) { Err_sys (Select timeout\n)。 if((ret = select(max_fd + 1,amp。 max_fd = sock_fd。 = 1。 FD_SET(sock_fd,amp。 FD_SET(0,amp。 } //while while(RUNNING) { FD_ZERO(amp。 exit(EXIT_FAILURE)。 sleep(3)。 while(connect(sock_fd,(struct sockaddr *)amp。 = htons(Server_port)。server_addr,ADDR_SIZE)。 if(sock_fd == 1) Err_sys(Client socket:) host = gethostbyname(argv[1])。 exit(EXIT_FAILURE)。 int ret。 struct timeval t_val。 struct hostent *host。 int con_times = 0。 int wc = 1,rc = 1。 struct sockaddr_in server_addr,client_addr。}(2) include int main (int argc, char *argv[]){ int sock_fd。 close(sock_fd)。 exit(EXIT_SUCCESS)。 if(wc = 0) fprintf(stderr,Server send:%s\n,strerror(errno))。 fgets(buffer_w,BUFFER_SIZE,stdin)。 printf([Server send]:)。 } //read set if(FD_ISSET(0,amp。 close(conn_fd)。 FD_CLR(conn_fd,amp。 rc = recv(conn_fd,buffer_r,BUFFER_SIZE,0)。 } else { if(FD_ISSET(conn_fd,amp。sigset)) == 1) Err_sys(Server select:) else if(ret == 0) { Err_sys (Select timeout\n)。readfds,NULL,NULL,amp。 max_fd = conn_fd。 = 7。 FD_SET(conn_fd,amp。 FD_SET(0,amp。 while(RUNNING) { FD_ZERO(amp。 raise(SIGALRM)。 sigprocmask(SIG_BLOCK,amp。 signal(SIGALRM,sig)。 if((pt = fork()) == 1) Err_sys(Server fork:) else if(pt 0) close(conn_fd)。 if(conn_fd == 1) fprintf(stderr,Server accept:%s,strerror(errno))。 sleep(3)。client_addr,amp。 if(bind(sock_fd,(struct sockaddr *)amp。 setsockopt(sock_fd,SOL_SOCKET,SO_REUSEADDR,(void *)amp。 = htons(Server_port)。server_addr,ADDR_SIZE)。 sock_fd = socket(AF_INET,SOCK_STREAM,0)。 sigaddset(amp。 sigaddset(amp。 sigemptyset(amp。 sigemptyset(amp。 int ret。 struct timespec t_val。 int val。 int i = 1。 int wc = 1,rc = 1。 struct sockaddr_in server_addr,client_addr。 signal(signum,sig)??蛻舳舜翱谏鲜鲞\行結(jié)果表明,客戶端與服務(wù)器端之間傳遞的消息已被對方成功接收。4) 鍵入exit結(jié)束。服務(wù)器端窗口開始運行后,客戶端窗口的執(zhí)行順序為:1) 接收服務(wù)器端發(fā)來的消息“Hello,world!”。開始運行后,服務(wù)器端窗口的執(zhí)行順序為:1) 鍵入“Hello,world!”發(fā)送給客戶端2) 接收客戶端發(fā)來的兩個消息;3) 鍵入“OK!”發(fā)送個客戶端;4) 輸入exit結(jié)束。輸入:【主】 ./server【從】 ./client () 輸出:【主】server:got connection from (5) 客戶端、服務(wù)器端窗口之間以及交錯發(fā)送信息的方式相互發(fā)送和接收信息。(2) ,用gcc –lpthread –o client 生成程序client(3) 在主機上打開一窗口,運行server。七、 運行效果程序測試環(huán)境:linux、unix、debian等操作系統(tǒng)。,進行數(shù)據(jù)通信(1)主機利用accept接收請求。(2)初始化socket端口。my_addr,sizeof(stuct sockaddr))。 /* 將端口給其賦值*/=INADDR_ANY。=AF_INET。參數(shù)說明: inet_addr 函數(shù) INADDR_ANY該函數(shù)把由小數(shù)點分開的十進制IP地址轉(zhuǎn)為unsinged long 類型,而在實驗中所使用的為INADDR_ANY,使用利用自已的IP地址自動填充。 監(jiān)聽連接 利用socket、bind、listen建立連接,步驟是:先用socket函數(shù)初始化socket,創(chuàng)建新的sockfd。 參數(shù)說明: How的值為下面一種: 0不允許繼續(xù)接收; 1不允許繼續(xù)發(fā)送; 2不允許繼續(xù)發(fā)送和接收。
點擊復(fù)制文檔內(nèi)容
物理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1