
本文共 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���������
发表评论
最新留言
关于作者
