#include <unistd.h>
#include <arpa/inet.h>
#include <strings.h>
#include <stdio.h>
#include <sys/types.h>
#include <sys/socket.h>
#define BACKLOG 5
main()
{
int fd, connectfd;
char buf[1024];
struct sockaddr_in addr, client;
socklen_t sock_size;
int n;
char c;
struct timeval tv;
fd_set rdfds;
pid_t pid;
tv.tv_sec = 0; tv.tv_usec = 10000;
fd = socket(AF_INET, SOCK_STREAM, 0);
bzero(&addr, sizeof(struct sockaddr_in));
addr.sin_family = AF_INET;
addr.sin_port = htons(5678);
addr.sin_addr.s_addr = htonl(INADDR_ANY);
bind(fd, (struct sockaddr *)&addr, sizeof(struct sockaddr));
listen(fd, BACKLOG);
sock_size = sizeof(struct sockaddr);
FD_ZERO(&rdfds);
for(;;)
{
connectfd = accept(fd, (struct sockaddr *)&client,
(socklen_t *)&sock_size);
pid = fork();
if(pid > 0)
close(connectfd);
else
for(;;)
{
FD_SET(0, &rdfds);
FD_SET(connectfd, &rdfds);
select(connectfd + 1, &rdfds, NULL, NULL, &tv);
if(FD_ISSET(connectfd, &rdfds))
{
read(connectfd, &c, 1);
fprintf(stderr, "%c", c);
}
if(FD_ISSET(0, &rdfds))
{
read(0, &c, 1);
write(connectfd, &c, 1);
}
}
}
close(fd);
}
// note: set terminal with 'stty cbreak'
Linux下网络编程服务器_客户端的C程序
3星 · 超过75%的资源 需积分: 9 192 浏览量
2011-07-24
12:28:30
上传
评论 1
收藏 1KB RAR 举报
ttangle
- 粉丝: 1
- 资源: 7
最新资源
- SSCMS登录模块需要的JS文件
- JSP网络购物中心毕业设计(源代码+论文).rar
- 白盒测试报告.docx
- 基于LM5117芯片评估开发板硬件参考设计(原理图+PCB)+中英文数据手册资料.zip
- 照片批量重命名软件(文件批量修改图片文件名)
- app.apk
- 人工智能(AI)是计算机科学的一个分支,旨在开发和应用能够模拟、延伸和扩展人类智能的理论、方法和技术,包括机器人、语言识别、图像
- 嵌入式与物联网开发是当今信息技术领域的两大重要分支,它们相互交织,共同推动着智能化时代的进步 嵌入式开发主要关注在嵌入式操作
- 网络安全,这一看似高深莫测的领域,实则与我们每个人的生活息息相关
- 毕业设计基于深度学习的视觉问答系统源码+文档说明+答辩PPT.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈