tcp应用服务器开发经验请教?
目前正在开发一个应用服务器程序,大概有十几个左右(不超过20)的客户终端机
与该服务器连接,使用tcp协议来进行网络通信。该服务器需要长时间(几个月或1年)稳定可靠的
运行,为各客户端提供服务。服务器采用linux系统(linux2.6),客户端暂采用windows系统,
由于我对于开发稳定的产品级的网络服务程序缺乏实战的经验,所以有以下几个问题向各位高手请教,
1 服务端通信服务使用单进程多线程的架构,非阻塞通信设置。网络通信这块分三个线程来实现,
A线程为专门的连接处理线程,等待在listen的socket上的客户端连接,并把
进来的连接保存。
B线程为专门的接收处理线程,采用select方式的IO多路复用方式在Accept好的连接socket
进行接收数据,并把它放置到全局的接收数据队列。
C线程为发送处理线程,在已连接的socket上发送数据。
请问这样的架构是否合理,是否有改进的地方?
2 虽然TCP协议是可靠的通信协议,在发送时如何确定发送数据成功与否?
3 由于服务端和客户端是采用tcp上时间保持连接的方式,当由于各种原因连接意外中断时,在服务端如何确定连接的意外中断?
4 一个稳定的产品级的网络服务程序在调用几个常用的socket的API函数时有什么需要注意的细节?
我个人也下载了nagix,libevent等开源的网络程序库看了下,但是感觉较难在短时间内学习到产品级的网络开发的
经验,所以在论坛上贴出该问题,欢迎各位高手发表高见或推荐更轻量级的tcp开源程序,谢谢!
与该服务器连接,使用tcp协议来进行网络通信。该服务器需要长时间(几个月或1年)稳定可靠的
运行,为各客户端提供服务。服务器采用linux系统(linux2.6),客户端暂采用windows系统,
由于我对于开发稳定的产品级的网络服务程序缺乏实战的经验,所以有以下几个问题向各位高手请教,
1 服务端通信服务使用单进程多线程的架构,非阻塞通信设置。网络通信这块分三个线程来实现,
A线程为专门的连接处理线程,等待在listen的socket上的客户端连接,并把
进来的连接保存。
B线程为专门的接收处理线程,采用select方式的IO多路复用方式在Accept好的连接socket
进行接收数据,并把它放置到全局的接收数据队列。
C线程为发送处理线程,在已连接的socket上发送数据。
请问这样的架构是否合理,是否有改进的地方?
2 虽然TCP协议是可靠的通信协议,在发送时如何确定发送数据成功与否?
3 由于服务端和客户端是采用tcp上时间保持连接的方式,当由于各种原因连接意外中断时,在服务端如何确定连接的意外中断?
4 一个稳定的产品级的网络服务程序在调用几个常用的socket的API函数时有什么需要注意的细节?
我个人也下载了nagix,libevent等开源的网络程序库看了下,但是感觉较难在短时间内学习到产品级的网络开发的
经验,所以在论坛上贴出该问题,欢迎各位高手发表高见或推荐更轻量级的tcp开源程序,谢谢!
...全文
相关推荐
基于ZYNQ的XVC(Xilinx Virtual Cable)实现TCP-JTAG调试经验.pdf
基于ZYNQ045芯片的XVC功能的实现,实现了TCP-JTAG的功能。文档主要分为VIVADO工程的搭建、uboot移植、XVC驱动程序移植、XVC应用程序移植和测试验证等部分组成。在zynq045的板卡上通过网络-JTAG成功连接板载的XC7V690T的芯片。亲测可用,实际调试经验。
TCP和Node.js中TCP的简单应用服务器
在本文中,我们将探讨如何在Node.js中使用TCP协议构建一个简单的应用服务器。总结起来,TCP在Node.js中的应用十分广泛,可以用于构建各种类型的网络应用程序,如聊天应用、实时数据传输应用等。通过利用Node.js的事件驱动和非阻塞I/O模型,我们可以轻松地创建高性能的TCP服务器和客户端。通过以上的代码示例,我们可以在Node.js中使用TCP协议构建一个简单的应用服务器。你可以尝试运行服务器和客户端代码,观察它们之间的数据交互,并根据需求进行进一步的开发和定制。在上面的代码中,我们使用。
生产开发的干活经验.doc
里面是我银行生产项目的开发搭建服务的干活经验,从网络、各种服务、代理、共享等,各种各样的坑,以及各种服务安装,及基本命令,还用yum包安装,有遇到相关问题的可以评论问的,后面还有框架和开发的以后会补充
轻量级高速灵活的TCP应用服务器及嵌入式数据库框架
轻量级高速灵活的TCP应用服务器及嵌入式数据库框架
TCP优化经验总结



