双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —

tcp应用服务器开发经验请教?

kacy16 kacy16 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
目前正在开发一个应用服务器程序,大概有十几个左右(不超过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开源程序,谢谢!
...全文

相关推荐

基于ZYNQ的XVC(Xilinx Virtual Cable)实现TCP-JTAG调试经验.pdf

基于ZYNQ045芯片的XVC功能的实现,实现了TCP-JTAG的功能。文档主要分为VIVADO工程的搭建、uboot移植、XVC驱动程序移植、XVC应用程序移植和测试验证等部分组成。在zynq045的板卡上通过网络-JTAG成功连接板载的XC7V690T的芯片。亲测可用,实际调试经验。

少林and叔叔

TCP和Node.js中TCP的简单应用服务器

在本文中,我们将探讨如何在Node.js中使用TCP协议构建一个简单的应用服务器。总结起来,TCP在Node.js中的应用十分广泛,可以用于构建各种类型的网络应用程序,如聊天应用、实时数据传输应用等。通过利用Node.js的事件驱动和非阻塞I/O模型,我们可以轻松地创建高性能的TCP服务器和客户端。通过以上的代码示例,我们可以在Node.js中使用TCP协议构建一个简单的应用服务器。你可以尝试运行服务器和客户端代码,观察它们之间的数据交互,并根据需求进行进一步的开发和定制。在上面的代码中,我们使用。

IqFlask

生产开发的干活经验.doc

里面是我银行生产项目的开发搭建服务的干活经验,从网络、各种服务、代理、共享等,各种各样的坑,以及各种服务安装,及基本命令,还用yum包安装,有遇到相关问题的可以评论问的,后面还有框架和开发的以后会补充

boylilz

轻量级高速灵活的TCP应用服务器及嵌入式数据库框架

轻量级高速灵活的TCP应用服务器及嵌入式数据库框架

Java程序员-张凯

TCP优化经验总结

jiangzetao1983
评论 18
收藏 已收藏
分享
返回顶部
kacy16
Linux/Unix社区 23,224 成员 74,535 内容