并发——你可以选择使用select、poll,或者是多线程、多进程:如果你使用多线程,那么就必须使用同步技术——信号量、互斥体、条件变量的一种或几种,并且对于多线程技术,你还需要考虑使用进行线程分离与合并;
如果你使用了多进程,那么同步技术就不是你需要考虑的了,你需要考虑的是进程相关的问题了,你是使用fork还是vfork,你该如何处理客户端的请求,如何处理客户端断开连接后保证能够处理完数据并且没有僵尸进程产生,你还需要考虑高并发的问题;
你发送接受数据的时候,采用何种方式,是阻塞的还是非阻塞的,还有连接超时、重传等问题你是选择TCP还是UDP,如果选择UDP你可得忙了,需要你自己去进行重传验证,模拟TCP的三次握手,保证数据不会丢失,保证数据的有序性;
还有其他很多需要你考虑的,以上都是指在Linux下的
C ,本人对windowsC 不了解。
推荐书目:UNIX高级环境编程,UNIX网络编程,卷
一。C 只不过是你使用这些技术的方式,不管你使用C还是
C ,你都可以使用从这两本书中学习到很多有用的知识,但是不能保证你就可以写出高质量的服务器程序。
后端是做对应前端而言的,编写代码基本上是提供给前端调用,是不需要处理UI的内容.比如:逻辑层。
后端开发即“服务器端”开发,主要涉及软件系统“后端”的东西。比如,用于托管网站和App数据的服务器、放置在后端服务器与浏览器及App之间的中间件,它们都属于后端。简单地说,那些你在屏幕上看不到但又被用来为前端提供支持的东西就是后端。
网站的后端涉及搭建服务器、保存和获取数据,以及用于连接前端的接口。如果说前端开发者关心的是网站外观,那么后端开发者关心的是如何通过代码、API和数据库集成来提升网站的速度、性能和响应性。
与前端类似,移动App的后端与网站后端是一样的。为移动App搭建后端有这些选择:云平台(AWS、Firebase)、自己的服务器或MBaaS(移动后端即服务,MobileBackendasaService)。