C++/CLI程序进程之间的通讯
发布时间:2006-05-10 15:29:07 来源:天极开发 网友评论 0 条 套接字上的串行化
前面所演示的服务端与客户端程序以简单的方式进行数值交换,如int,然而,程序很有可能也会需要发送与接收各种不同的用户自定义的对象类型,这就涉及到串行化。
试想某些金融程序所涉及到的许多事务类型,如存款、转账、取款,每一种都与事务有关。在此,只需简单地设置好适当的串行化与反串行化机制,服务端就能处理多个客户端请求,并可返回这些事务的任意数量与任意组合。
以下有一些练习来加深对此的了解:
1、 如果一个服务端连接队列已满,那对新的客户端连接请求来说,会发生什么呢?
2、 如果当客户端还有一个打开的套接字,而服务端此时却关闭了,会发生什么呢?反之呢?
3、 试着运行一个服务端和两个客户端。我们前面说过,服务端只能处理一个客户端,为使服务端能同时处理多个客户端,需要进行多线程设计,建议对服务端作一些适当的修改,并用两个、三个、或更多客户端来测试。
4、 以下是当有两个客户端运行时的输出:
前面所演示的服务端与客户端程序以简单的方式进行数值交换,如int,然而,程序很有可能也会需要发送与接收各种不同的用户自定义的对象类型,这就涉及到串行化。
试想某些金融程序所涉及到的许多事务类型,如存款、转账、取款,每一种都与事务有关。在此,只需简单地设置好适当的串行化与反串行化机制,服务端就能处理多个客户端请求,并可返回这些事务的任意数量与任意组合。
以下有一些练习来加深对此的了解:
1、 如果一个服务端连接队列已满,那对新的客户端连接请求来说,会发生什么呢?
2、 如果当客户端还有一个打开的套接字,而服务端此时却关闭了,会发生什么呢?反之呢?
3、 试着运行一个服务端和两个客户端。我们前面说过,服务端只能处理一个客户端,为使服务端能同时处理多个客户端,需要进行多线程设计,建议对服务端作一些适当的修改,并用两个、三个、或更多客户端来测试。
4、 以下是当有两个客户端运行时的输出:
| Client 2600 4 Sent values 56 and 35, received result 91 Sent values 48 and 20, received result 68 Sent values 6 and 97, received result 103 Sent values 76 and 9, received result 85 Notified server we're shutting down Shutting down client Client 2600 2 Sent values 69 and 66, received result 135 Sent values 84 and 45, received result 129 Notified server we're shutting down Shutting down client Server 2600 Waiting for new connection request New connection accepted Started thread Thread-1 Waiting for new connection request Executing thread Thread-1 Received values 56 and 35, sent result 91 New connection accepted Started thread Thread-2 Waiting for new connection request Executing thread Thread-2 Received values 69 and 66, sent result 135 Received values 48 and 20, sent result 68 Received values 84 and 45, sent result 129 Received values 6 and 97, sent result 103 Shutting down server thread Thread-2 Received values 76 and 9, sent result 85 Shutting down server thread Thread-1 |
- 推荐阅讯
- 在C++语言中,关于内联函数(inline)的入门教
- C++箴言:只要可能就用const
- 基于Visual C++的Winsock API研究
- C++ SDK+Symbian开发入门之部署
- More Effective C++:理解new和delete
- 初学者学习C++的50条忠告
- C++:最强大的.NET语言之装箱
- C++的救赎 C++开源程序库评话
- Visual C++中调用DLL实现数据加密
- 深入理解sizeof
- 阅读排行
- 1.Borland 发布C++ Builder 2006 RAD 环境
- 2.C/C++程序员应聘常见面试题深入剖析
- 3.Visual C++常用数据类型转换详解
- 4.C++中的 static 关键字
- 5.利用VC++实现局域网实时视频传输
- 6.浅谈C/C++内存泄漏及其检测工具
- 7.英国投票否决C++/CLI 微软强攻ISO标准受挫
- 8.VC++下用MSComm控件实现串口通讯
- 9.伪随机数生成及在VC++中的实现
- 10.VC++编程实现对波形数据的频谱分析
- 专题教程
- Windows Server-Windows Server文档-Windows Server新闻-Windows Ser PostgreSQL-PostgreSQL文档-PostgreSQL新闻-PostgreSQL专家
- WebLogic-WebLogic文档-WebLogic新闻-WebLogic专家 FreeBSD-FreeBSD文档-FreeBSD新闻-FreeBSD专家
- Linux-内核 GUI KDE Gnome DNS FTP 安全 安装-Linux专区 Windows-AD IIS ServerCore 虚拟化 安全 HPC-Windows专区
- 大话G游 专题:手机病毒揭密
- ARP攻击防范与解决方案 路由故障处理手册
