当前位置: 技术问答>linux和unix
求救:基于TCP的服务/客户端程序
来源: 互联网 发布时间:2015-12-25
本文导语: 从没写过LINUX下的程序,毫无头绪,因此来请教下大侠们 我想写一个基于TCP的服务程序,要多线程的,能同时接多人的请求。 实现的功能就是客户端登陆进来,首先要一个认证过程,即密码认证,通过后客户端可以...
从没写过LINUX下的程序,毫无头绪,因此来请教下大侠们
我想写一个基于TCP的服务程序,要多线程的,能同时接多人的请求。
实现的功能就是客户端登陆进来,首先要一个认证过程,即密码认证,通过后客户端可以发一些指令来操作服务器,只要服务端能够识别即可
如得到系统时间等等
哪位大哥有相关的代码,让小弟参考一下下
先谢了
我想写一个基于TCP的服务程序,要多线程的,能同时接多人的请求。
实现的功能就是客户端登陆进来,首先要一个认证过程,即密码认证,通过后客户端可以发一些指令来操作服务器,只要服务端能够识别即可
如得到系统时间等等
哪位大哥有相关的代码,让小弟参考一下下
先谢了
|
“基于TCP的服务程序,要多线程的,能同时接多人的请求”:这个“同时”还真不太好说,我理解是你想做成非阻塞IO或者IO复用模型或者异步IO;多线程还是多进程是个问题,如果追求简单稳定用进程,追求效率用线程,因此我推荐的两个方案:
1、主控制进程、连接处理进程、一组处理进程;其中主控制进程负责监控其他进程;连接处理进程首先是负责消息接入,接受消息,消息写入数据池,消息返回;处理进程是对数据迟中的数据进行处理,处理完成后将结果写入返回数据池,由接入进程返回给客户端,这个可以做成异步处理或者阻塞处理;
2、主控制进程、连接处理进程、动态线程;每次连接进程将接入数据后开一个线程,线程再去command命令,将结果返回给客户端
这东西说起来就这么简单,主要是要自己去写一次才知道具体细节实现还是很罗嗦,不过真要自己完整得写好了,以后再写其他的就方便了
1、主控制进程、连接处理进程、一组处理进程;其中主控制进程负责监控其他进程;连接处理进程首先是负责消息接入,接受消息,消息写入数据池,消息返回;处理进程是对数据迟中的数据进行处理,处理完成后将结果写入返回数据池,由接入进程返回给客户端,这个可以做成异步处理或者阻塞处理;
2、主控制进程、连接处理进程、动态线程;每次连接进程将接入数据后开一个线程,线程再去command命令,将结果返回给客户端
这东西说起来就这么简单,主要是要自己去写一次才知道具体细节实现还是很罗嗦,不过真要自己完整得写好了,以后再写其他的就方便了
|
没写过就慢慢来嘛,从基本的tcp服务端客户端开始吧
|
其实和windows下相似
肯定要用到的几类函数
socket listen accept bind connect send/write recv
fork
肯定要用到的几类函数
socket listen accept bind connect send/write recv
fork