UDP服务器是做什么用的?
功能大概是:在服务器端,开启新线程处理客户端发送过来的命令,新线程根据模块名调用指定的处理过程。这是一个不大也不算小的项目,里面涉及到很多知识点:进程,多线程,防止多个线...
功能大概是:在服务器端,开启新线程处理客户端发送过来的命令,新线程根据模块名调用指定的处理过程。
这是一个不大也不算小的项目,里面涉及到很多知识点:进程,多线程,防止多个线程访问共享资源的线程锁机制,如何把一个普通进程编程一个守护进程,怎么进行socket通信,怎么记录日志。
我现在不是要您给我解释每个知识点,而是请您把UDP服务器实现的原理告诉我,最好能够详细点,哪个阶段用到哪个知识点,求高手点拨!最好能分析一下服务器里有哪些功能模块。不胜感激! 展开
这是一个不大也不算小的项目,里面涉及到很多知识点:进程,多线程,防止多个线程访问共享资源的线程锁机制,如何把一个普通进程编程一个守护进程,怎么进行socket通信,怎么记录日志。
我现在不是要您给我解释每个知识点,而是请您把UDP服务器实现的原理告诉我,最好能够详细点,哪个阶段用到哪个知识点,求高手点拨!最好能分析一下服务器里有哪些功能模块。不胜感激! 展开
3个回答
展开全部
UDP服务器,就是首发数据,进行数据处理的。与TCP不同的是不用建立连接,直接调用recvfrom来收包。
开始就是基本的socket初始化地址什么的。
要求多个线程处理客户端命令,那recvfrom收包后,考虑把客户端的地址信息保存,便于sendto,对接收的数据包,交给线程进行处理,每个线程可以向一块共享内存、队列里写入收到的数据和对应的客户端信息,每次写的时候对这块共享资源加锁,多个线程对共享资源读是加锁,读完解锁,并开始处理数据。
处理完,用sendto发回去。
不是什么大项目。小程序而已。
开始就是基本的socket初始化地址什么的。
要求多个线程处理客户端命令,那recvfrom收包后,考虑把客户端的地址信息保存,便于sendto,对接收的数据包,交给线程进行处理,每个线程可以向一块共享内存、队列里写入收到的数据和对应的客户端信息,每次写的时候对这块共享资源加锁,多个线程对共享资源读是加锁,读完解锁,并开始处理数据。
处理完,用sendto发回去。
不是什么大项目。小程序而已。
高骏(北京)科技有限公司
2020-04-29 广告
2020-04-29 广告
公网传输编解码建议选择高骏(北京)科技有限公司,价格合理,品质高服务好。高骏(北京)科技有限公司简称高骏科技。Cogent(高骏科技)创立于 2011年,始终致力于核心技术和创新性产品的自主研发,目前已成为国际知名的无线视音频传输与通信产品...
点击进入详情页
本回答由高骏(北京)科技有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |