这篇文章主要为大家详细介绍了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语言实现简单回声服务器
基础教程推荐
猜你喜欢
- 详解c# Emit技术 2023-03-25
- C++使用easyX库实现三星环绕效果流程详解 2023-06-26
- 一文带你了解C++中的字符替换方法 2023-07-20
- C语言 structural body结构体详解用法 2022-12-06
- C++中的atoi 函数简介 2023-01-05
- C++详细实现完整图书管理功能 2023-04-04
- C语言基础全局变量与局部变量教程详解 2022-12-31
- C利用语言实现数据结构之队列 2022-11-22
- 如何C++使用模板特化功能 2023-03-05
- C/C++编程中const的使用详解 2023-03-26