linux下的Qt开发双人聊天服务器编写
来源:互联网 发布:军用软件开发规范 编辑:程序博客网 时间:2024/05/18 00:09
一、定义数据结构,初始化系统环境
1、定义数据结构
struct message{
int type; //传输类型
long length; //传输内容的长度
char *value; //传输内容
};
2、创建两个信号量sme1,sem2,都设置初值为0;
二、定义数据变量
struct sockaddr_in addrSrv;
struct sockaddr_in addrClient1; //客户1的地址
struct sockaddr_in addrClient2; //客户2的地址
三、初始化服务器端的地址,创建tcp协议的套接字
int sockSrv=socket();
addrSrv.sin_addr.s_addr=htonl(INADDR_ANY);
addrSrv.sin_family=AF_INET;
addrSrv.sin_port=htons(8000);
四、绑定服务器端的地址
bind(sockSrv,(struct sockaddr*)&addrSrv,sizeof(struct sockaddr));
五、开始监听
1. 接受一个客户端1的连接,无阻塞方式等待连接
2. 判断另一个客户端2是否成功连接
(1)成功:开始通信,通知另一客户端通信类型
(2)不成功:提示客户端1不在线,暂时不能通信
六、 创建一个子进程 ,一个处理客户端1到客户端2的通信,另一个处理客户端2到客户端的通信
1.父进程(pid>0):处理客户端1到客户端2的通信
(1)sem1 +1,第一个连接接收到客户端1的数据,通知服务器
(2)将接收到的数据发送给客户端2,sme1 -1等待下一条数据的到来
1.子进程(pid==0):处理客户端2到客户端1的通信
(1)sem1 +2,第一个连接接收到客户端1的数据,通知服务器
(2)将接收到的数据发送给客户端2,sme2 -1等待下一条数据的到来
- linux下的Qt开发双人聊天服务器编写
- Ubuntux下QT编写 linux嵌入式开发板的程序
- Qt编写的局域网聊天程序
- Linux下QT图形界面开发 用快速开发工具Qt Designer编写Qt程序(2)
- Linux下select函数实现的聊天服务器
- Linux下select函数实现的聊天服务器
- Linux下select函数实现的聊天服务器
- Linux下select函数实现的聊天服务器
- QQ双人聊天代码
- 利用java UDP协议,实现简单的双人聊天
- Python实现最简单的双人聊天程序
- Pyqt4下聊天软件界面的编写
- QT开发的即时通讯聊天软件
- linux下qt开发opengl的问题
- Qt开发linux下的任务管理器
- Linux下Qt开发环境的搭建
- Linux下Qt开发环境的搭建
- Linux下Qt开发环境的搭建
- 写文件
- 在家的日子,该怎么过?
- 文件操作
- 透过对类的加载看JAVA中的枚举类型
- 经验要积累 程序能执行
- linux下的Qt开发双人聊天服务器编写
- 学生信息管理系统
- 123456
- 实践设计模式:文件装饰模式 欢迎拍砖!
- PL/SQL Developer 操作导出数据脚本、数据
- 气质的培养(哈佛管理世界)
- 正式进入csdn!
- The Table <table name> cannot be found on the database
- 【转】Java类的初始化顺序 (静态变量、静态初始化块、变量、初始化块、构造器)