这是一个c程序(与客户端交互的服务器) 我很确定我做错了很多
我在编译
int main(int argc, char **argv)
{
int sock, fd;
socklen_t client_len;
struct sockaddr_in server, client;
if ((sock = socket(AF_INET, SOCK_STREAM, 0)) == -1)
{
perror("Socket failed");
exit(1);
}
server.sin_family = AF_INET;
server.sin_addr.s_addr = htonl(INADDR_ANY);
server.sin_port = htons (SERVER_PORT);
if (bind ( sock, (struct sockaddr *) &server, sizeof server) == -1);
{
perror("bind failed");
exit(2);
}
listen (sock,1);
while (1)
{
client_len = sizeof (client);
if((fd = accept ( sock, (struct structaddr *) &client, &client_len)) < 0)
{
perror("accepting connection");
exit(3);
}
fprintf(stderr, "\nOpen. \n");
(send (fd, "\nWelcome!\n", 50, 0);
check_stats(fd, fd);
}
close(fd);
fprintf(stderr, "\nClose\n");
exit(0);
}
我已经拍摄了屏幕截图,虽然我无法弄清楚是什么,但这似乎是一个小问题!
答案 0 :(得分:5)
你没有编译它。当您键入:./server.c
时,您尝试将其作为shell脚本运行。
编译它:gcc server.c
(如果您安装了gcc。如果安装了其他编译器,请尝试cc server.c
或cl server.c
)
运行它:./a.out