亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

作業社區

探索學習新天地,共享知識資源!

0 提交作業
0 布置作業
0 滿分作業
得分 100
學習任務

qq_康斯坦丁_0 的學生作業:

#include #include #include #include #include #include #include #include #define FIFO_PATH “/tmp/time_fifo” #define BUFFER_SIZE 128 // 時間發送進程 void time_sender() { int fd; char buffer[BUFFER_SIZE]; time_t current_time; struct tm *time_info; // 創建FIFO mkfifo(FIFO_PATH, 0666); printf("[發送進程] 等待接收進程連接...\n"); fd = open(FIFO_PATH, O_WRONLY); while (1) { // 獲取當前時間 time(&current_time); time_info = localtime(&current_time); strftime(buffer, BUFFER_SIZE, "%Y-%m-%d %H:%M:%S", time_info); // 寫入FIFO write(fd, buffer, strlen(buffer) + 1); printf("[發送進程] 發送時間: %s\n", buffer); sleep(1); // 每秒發送一次 } close(fd); unlink(FIFO_PATH); } // 時間接收進程 void time_receiver() { int fd; char buffer[BUFFER_SIZE]; ssize_t bytes_read; printf("[接收進程] 正在連接到FIFO...\n"); fd = open(FIFO_PATH, O_RDONLY); while (1) { // 從FIFO讀取時間 bytes_read = read(fd, buffer, BUFFER_SIZE); if (bytes_read > 0) { printf("[接收進程] 接收到時間: %s\n", buffer); } } close(fd); } int main(int argc, char *argv[]) { if (argc != 2) { printf(“使用方法: %s [sender|receiver]\n”, argv[0]); return 1; } if (strcmp(argv[1], "sender") == 0) { time_sender(); } else if (strcmp(argv[1], "receiver") == 0) { time_receiver(); } else { printf("無效的參數。請使用 'sender' 或 'receiver'\n"); return 1; } return 0; }

得分 100
學習任務

史啦啦 的學生作業:

【圖片】 /* 大家自己看懂老師的代碼后,自己編寫udp多進程并發服務器的代碼。并和網絡調試助手調試成功后。 把服務器相關代碼上傳即可。 * * */ #include #include #include #include #include #include #include #include #include #include #include #define PORT 9090 #define SERVER_IP "192.168.1.4" #define BUFF_SIEZ 1024 void handle_client(int sockfd,struct sockaddr_in client_addr,char *buffer) { pid_t pid = fork(); if(pid == 0) { char client_ip[INET_ADDRSTRLEN]; inet_ntop(AF_INET,&(client_addr.sin_addr),client_ip,INET_ADDRSTRLEN); int client_port = ntohs(client_addr.sin_port); printf("[PID : %d]收到來自 %s:%d 的請求\n",getpid(),client_ip,client_port); for(int i = 0;i < strlen(buffer);i++) { buffer[i] = buffer[i]; } sendto(sockfd,buffer,strlen(buffer),0,(struct sockaddr *)&client_addr,sizeof(client_addr)); //printf("[PID:%d]已發送相應\n",getpid()); printf("===============================\n"); printf("user IP : %s\n",inet_ntoa(client_addr.sin_addr)); printf("user port : %d\n", ntohs(client_addr.sin_port)); printf("user data : %s\n",buffer); exit(0); } } int main() { int sockfd; struct sockaddr_in server_addr,client_addr; socklen_t addr_len = sizeof(client_addr); char buffer[BUFF_SIEZ]; if((sockfd = socket(AF_INET,SOCK_DGRAM,0)) < 0) { perror("socket創建失敗"); exit(EXIT_FAILURE); } //修改服務器地址配置 memset(&server_addr,0,sizeof(server_addr)); server_addr.sin_family = AF_INET; server_addr.sin_port = htons(PORT); //將ip地址從字符串轉換為網絡格式 if(inet_pton(AF_INET,SERVER_IP,&server_addr.sin_addr)

微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號