#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'

ttangle
- 粉丝: 1
- 资源: 7
最新资源
- 【9224】基于Springboot+vue的疫情管理系统.zip
- 【9226】基于Springboot+vue的经方药食两用服务平台.zip
- 【9225】基于Springboot+vue的政府管理的系统设计.zip
- 课程设计网页爬虫.zip(课设&实训&大作业&竞赛&项目)
- 基于springboot+mybatis+thymeleaf+layui实现博客论坛.zip(毕设&课设&实训&大作业&竞赛&项目)
- 基于SSM+JSP的课程资源管理系统.zip(毕设&课设&实训&大作业&竞赛&项目)
- 用Sketch 设计和输出响应式H5网页.zip(毕设&课设&实训&大作业&竞赛&项目)
- 【9227】基于Springboot+vue的旅游管理系统.zip
- 【9228】基于Springboot+vue的高校教师电子名片系统.zip
- 【9229】基于Springboot+vue的企业员工薪酬关系系统的设计.zip
- vue-sign-canvas,支持pc & app,可自行二次开发-vue-sign-canvas.zip
- ollama本地部署deepseek-r1大模型
- 【9232】基于Springboot+vue的青年公寓服务平台.zip
- 【9230】基于Springboot+vue的在线远程考试系统的设计与实现.zip
- 【9231】基于Springboot+vue的乡政府管理系统.zip
- 【9234】基于Springboot+vue的疗养院管理系统的设计与实现.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈


