Linux下编写简易取号机系统,linux socket编程问题,下面是我做的一个简单的模拟银行排队叫号系统。...
程序运行:开启多个终端,一个服务器,其余的是客户端(包括一个取号机和多个柜台叫号机)
问题:我把服务器和多个客户端程序可以正常运行,但当我按 ctr+c 键杀掉一个客户端后,服务器端的程序也会死掉,
请问怎样才能使 杀死客户端程序 而不使服务器端程序死掉? 要怎样修改程序,请高手指教。
下面是我的源程序:
服务器 server.c
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
/* 定义端口号,须大于1024 */
#define PORT 8888
//#define BUF_SIZE 1024
/* 信息宏 */
#define GEN_GOTAL 1 /* 普通业务总人数 */
#define GEN_CUR 2 /* 普通业务当前服务的号码 */
#define VIP_TOTAL 3 /* vip业务总人数 */
#define VIP_CUR 4 /* vip业务当前服务的号码 */
#define FROM_GET_NUM 5 /* 为取号机创建线程 */
#define FROM_CALL_NUM 6 /* 为叫号机创建线程 */
/* 存储服务人数信息结构定义 */
typedef struct
{
int gen_total_num; /* 普通业务总人数 */
int gen_cur_num; /* 普通业务当前服务的号码 */
int vip_total_num; /* vip业务总人数 */
int vip_cur_num; /* vip业务当前服务的号码 */
}info_bank;
info_bank info_people;
/* 线程执行函数负责读写 */
void *server_client( void *arg );
/* 初始化服务信息 */
void init_info(info_bank *info_people);
void save_info_getnum(info_bank *info_people, int operation); /*保存取号机发来的信息*/
void save_info_call(info_bank *info_people, int operation); /*保存叫号机发来的信息*/
int main(int argc, char *argv[])
{
socklen_t clt_addr_len;
int listen_fd;
int com_fd;
int ret;
int i;
static char recv_buf;
int len;
pthread_t tid;
struct sockaddr_in clt_addr;
struct sockaddr_in srv_addr;
init_info(&info_people);
/* 创建套接字用于服务器的监听 */
listen_fd = socket(PF_INET, SOCK_STREAM, 0);
if (listen_fd
您可能感兴趣的文章:
Linux下编写简易取号机系统,linux socket编程问题,下面是我做的一个简单的模拟银行排队叫号系统。...相关推荐
- 排队叫号 服务器 不同区域显示,银行排队叫号系统,让你摆脱排队久的问题!...
原标题:银行排队叫号系统,让你摆脱排队久的问题! 银行排队叫号系统主要由服务器.取号机.集中液晶屏.液晶窗口显示通屏.语音系统.线缆连接部件及其他辅件等组成. ① 网络平台:可以是大厅的局域网络,系统 ...
- mfc 子窗体 按钮不触发_资深程序员用c++开发MFC银行排队叫号系统,小白看了也能学会...
这个C++ 银行排队叫号系统是看了书后写出来的程序,运用于MFC理念编写,我看的书是谭浩强的<C++面向对象程序设计>相对计科的书少了前六章 直接从对象讲起,这本书也是本班使用人数最多的一 ...
- VS+Qt+C++银行排队叫号系统
程序示例精选 VS+Qt+C++银行排队叫号系统 如需安装运行环境或远程调试,见文章底部个人QQ名片,由专业技术人员远程协助! 前言 这篇博客针对<<VS+Qt+C++银行排队叫号系统& ...
- 基于java+ssm+vue+mysql的银行排队叫号系统
项目介绍 银行排队叫号系统是以科学合理的机构组织合作.流畅疏通的信息渠道为平台,以客户基本信息.计算机.Internet网络.网络管理软件信息技术为手段建立的信息服务管理系统.系统将借助高速和先进的计 ...
- 基于单片机的银行排队叫号系统(Keil工程文件+Proteus仿真原理图+过程详解+全套文档)
目 录 摘 要 I ABSTRACT II 1 绪论 1 1.1 课题来源 1 1.2 国内外发展状况 1 1.3 有线系统与无线系统 3 1.4 发展前景 4 1.5 系统的设计目的 4 2 系统的 ...
- Linux下如何抓取串口码流,linux alsa音频中采样率fs、比特率BCLK 、主时钟MCLK关系...
转:https://blog.csdn.net/lugandong/article/details/72468831 一. 拿512fs说话: 看图知道采样的位深是32bit(位),左右声道各占了8* ...
- 银行排队叫号系统的模拟
模拟20秒的输出结果: --------模拟开始-------- 初始化用户: 普通客户 进入排队, 编号:1000 VIP客户 进入排队, 编号:1001 普通客户 进入排队, 编号:1002 ...
- 专业的LaTeX: 在Linux下编写高质量的文档
专业的LaTeX: 在Linux下编写高质量的文档 Linux下的OpenOffice.KWord等字处理软件虽然在功能上与Microsoft Word类似,但目前在易用性和可用性方面仍然存在许多不足 ...
- Linux下编写贪吃蛇游戏
Linux下编写贪吃蛇游戏 文章目录 Linux下编写贪吃蛇游戏 前言 一.贪吃蛇代码 二.运行贪吃蛇代码 前言 本程序需要ncurses库,ubuntu下安装ncurses可以执行下面命令: sud ...
- Linux运行911,韦东山-Linux下编写GT911触摸驱动 - 百问网嵌入式问答社区
源码在最下面 问题一:资源获取Gt911数据手册 在韦老师给的资料里,路径为\06_Datasheet\Extend_modules\7寸LCD模块\电容触控芯片GT911 Datasheet_121 ...
最新文章
- Android拖拽详解
- 计算机模拟生态系统,生态系统模拟方法.ppt
- 梁建章的多米诺,混合办公的未知数
- 《算法的乐趣》作者王晓华访谈:多看、多做、多想是秘诀
- TreeView控件的基本使用 界面篇 winform
- opencv 轮廓 缺陷检测
- python django ajax 逻辑推理_python django初识ajax
- 【李宏毅机器学习HW2】
- 【学习笔记】用Excel制作随机抽奖器(Visual Basic编程)。
- c语言学习笔记(持续更新中)
- 同一包(package)下,两个不同类的调用操作详解
- Rust Async: smol源码分析-Executor篇
- java hypot_Java Math类静态double hypot(double d1,double d2)与示例
- python 离群值_python:删除离群值操作(每一行为一类数据)
- 关于 字号、PX像素、PT点数、em、CM厘米、MM毫米之间的换算
- 【Docker】win7安装docker及镜像加速
- Spring学习-Spring核心技术(九)
- Mac M1 Pro下载node.js
- Windows系统下安装ROS系统
- 误删sd卡文件怎么恢复
热门文章
- Linux镜像下载及虚拟机中安装
- 数学建模编程用c语言,C程序设计一百例--用c语言解决数学建模问题.doc
- IPO | 经纬恒润登科创板,好赛道下隐患依然很突出
- 【经典】具有中国特色的脑筋急转弯
- 图形学基础|深度缓冲(DepthBuffer)
- 角谱 matlab,关于角谱法实现数字全息 - 程序语言 - MATLAB/Mathematica - 小木虫论坛-学术科研互动平台...
- 全息过山车:巨蚁数字全息刺激体验
- 企业微信网页授权初试
- Mac好用的图片压缩软件——JPG Compress 2 for Mac
- 移远EC20、EC200S-CN上网测试