这篇文章主要为大家详细介绍了C语言实现简单回声服务器,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本文实例为大家分享了C语言实现简单的回声服务器,供大家参考,具体内容如下
新建echo_server.c
#include<stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <string.h>
#include <ctype.h>
#include <arpa/inet.h>
#define SERVER_PORT 666
int main(void){
int sock;
struct sockaddr_in server_addr;
sock=socket(AF_INET,SOCK_STREAM,0);
bzero(&server_addr,sizeof(server_addr));
server_addr.sin_family=AF_INET;
server_addr.sin_addr.s_addr=htonl(INADDR_ANY);
server_addr.sin_port=htons(SERVER_PORT);
bind(sock,(struct sockaddr *)&server_addr,sizeof(server_addr));
listen(sock,128);
printf("等待客户端的连接..\n");
int done=1;
while(done){
struct sockaddr_in client;
int client_sock;
char client_ip[64];
socklen_t client_addr_len;
client_addr_len=sizeof(client);
accept(sock,(struct sockaddr *)&client,&client_addr_len);
printf("client ip:%s\n port :%d\n",
inet_ntop(AF_INET,&client.sin_addr.s_addr,client_ip,sizeof(client_ip)),
ntohs(client.sin_port));
}
}
打包生成可执行文件
[root@localhost c++]# gcc echo_server.c -o echo_server.exe
启动服务器
[root@localhost c++]# ./echo_server.exe
等待客户端的连接..
telnet访问
[root@localhost ~]# telnet 127.0.0.1 666
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
服务器端打印
[root@localhost c++]# ./echo_server.exe
等待客户端的连接..
client ip:127.0.0.1
port :36156
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程学习网。
沃梦达教程
本文标题为:C语言实现简单回声服务器
猜你喜欢
- Qt计时器使用方法详解 2023-05-30
- C语言手把手带你掌握带头双向循环链表 2023-04-03
- C语言详解float类型在内存中的存储方式 2023-03-27
- c++ const 成员函数,返回一个 const 指针.但是返回的指针是什么类型的 const? 2022-10-11
- 详解C语言中sizeof如何在自定义函数中正常工作 2023-04-09
- C++ 数据结构超详细讲解顺序表 2023-03-25
- Easyx实现扫雷游戏 2023-02-06
- C语言qsort()函数的使用方法详解 2023-04-26
- ubuntu下C/C++获取剩余内存 2023-09-18
- 我应该为我的项目使用相对包含路径,还是将包含目录放在包含路径上? 2022-10-30