UDP server/client实例
发布日期:2021-05-15 09:23:37 浏览次数:21 分类:精选文章

本文共 4036 字,大约阅读时间需要 13 分钟。

������������������������������������������������������������������������������������������������������������������������������������socket���������������������������������������������������������������������������������

������������������������������������������������socket������������������������������������������sys/socket.h���string.h���������������������socket������������socket������������������������������������������������������������������������������������������������������������������������������������sock.socket���(domain)������������������������SOCK_DGRAM���������������������������������0������������IP������������

������������������������socket������������������IP���������������������������������������������������socklen_t��������������� socket���������������������������sockl���������������������������������������socket������������������������������������������������������������������������������������������bind������������������������������

������������������������������

#include 
#include
#include
#include
#include
#include
#define SIZE 300 int main(int argc, char *argv[]) { int server_fd, new_socket; struct sockaddr_in server_addr; struct sockaddr_in client_addr; socklen_t len, addr_len; char buffer[SIZE] = {0}; if (argc != 2) { printf("������������������������������\n"); return 1; } // ������socket server_fd = socket(PF_INET, SOCK_STREAM, 0); if (server_fd == -1) { printf("���������������������socket\n"); return 1; } // ��������������������������������� memset(&server_addr, 0, sizeof(server_addr)); server_addr.sin_family = AF_INET; server_addr.sin_addr.s_addr = (socklen_t)htonl(INADDR_ANY); server_addr.sin_port = htons(argv[1]); // ������socket������������IP��������������� if (bind(server_fd, (struct sockaddr *)&server_addr, sizeof(server_addr)) == -1) { printf("������������������socket���������������������\n"); return 1; } // accept��������������� addr_len = sizeof(client_addr); new_socket = accept(server_fd, (struct sockaddr *)&client_addr, (socklen_t*)&addr_len); if (new_socket == -1) { printf("������������������������������������\n"); return 1; } // ������������������������������ printf("������������������������\n"); while(1) { memset(buffer, 0, sizeof(buffer)); ssize_t nRead = recv(new_socket, buffer, sizeof(buffer) - 1, 0); if (nRead == -1) { printf("������������������������������������\n"); break; } buffer[nRead] = '\0'; printf("������������������������%s\n", buffer); // ������������������������ ssize_t nSend = send(new_socket, buffer, nRead, 0); if (nSend == -1) { printf("������������������������������������������\n"); break; } printf("���������������������������������\n"); } close(new_socket); close(server_fd); return 0; }

���������������������������������������������������socket������������������������������IP���������������������������������������socket������������������������������������������������������������������������������

���������������������������������������������������������������������������������������������������������socklen_t���������������������������������������������������������������0���������������������������������������������������������������������������������������

���������������������������������������������������������������������netcat���������������������������������������������������������������������������������������������������������������������������������������������������

���������������������������������������������bind������������recv������������������������������������������������������������������������������������������������������������������������������bind������������������������������������������IP������������������������������������������������������������������������������������

������������������������������socket���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������socket���������

上一篇:linux编程实现三个线程ABC,并让它们顺次打印自己的ID,使用信号量
下一篇:io多路复用___select

发表评论

最新留言

做的很好,不错不错
[***.243.131.199]2025年04月15日 04时48分51秒