c服务器端开发
⑴ C/C++做服务器需要学习什么样的技术
服务器所用到来的知识:
TCP/UDP,最基本的自
并发——你可以选择使用select、poll,或者是多线程、多进程
如果你使用多线程,那么就必须使用同步技术——信号量、互斥体、条件变量的一种或几种,并且对于多线程技术,你还需要考虑使用进行线程分离与合并,
如果你使用了多进程,那么同步技术就不是你需要考虑的了,你需要考虑的是进程相关的问题了,你是使用fork还是vfork,你该如何处理客户端的请求,如何处理客户端断开连接后保证能够处理完数据并且没有僵尸进程产生,你还需要考虑高并发的问题
你发送接受数据的时候,采用何种方式,是阻塞的还是非阻塞的,还有连接超时、重传等问题
你是选择TCP还是UDP,如果选择UDP你可得忙了,需要你自己去进行重传验证,模拟TCP的三次握手,保证数据不会丢失,保证数据的有序性
还有其他很多需要你考虑的,以上都是指在Linux下的C++,本人对windows C++不了解
推荐书目:UNIX高级环境编程,UNIX网络编程,卷一。C++只不过是你使用这些技术的方式,不管你使用C还是C++,你都可以使用从这两本书中学习到很多有用的知识,但是不能保证你就可以写出高质量的服务器程序。
⑵ C++游戏客户端/服务器端开发需要掌握什么
1、精通C++、STL及各种设计模式,熟悉各种数据结构和算法;
2、熟悉3D图形学原理,3D图形的常用技术,有较强的数学功底,有Shader编写经验;
3、有UE3、Gamebryo、Unity3D等一些游戏引擎使用经验。
游戏客户端,游戏库客户使用端,相对于游戏服务端的另一端,服务端是为游戏数据库服务的,而客户端就是游戏数据使用端。几乎现在任何游戏都有其客户端,用来连接服务端而为玩家服务。
服务端是为客户端服务的,服务的内容诸如向客户端提供资源,保存客户端数据。是实现游戏特色化的重要途径,也是最直接可以通过游戏表现出来的技术,比如要修改某个NPC的参数,重加载后,在游戏内立刻体现出来。
⑶ 用c++开发服务器端,需要学习哪些东西
服务器所用到的知识:
TCP/UDP,最基本的
并发——你可以选择使用select、poll,或者是多线程版、多进程
如果你使权用多线程,那么就必须使用同步技术——信号量、互斥体、条件变量的一种或几种,并且对于多线程技术,你还需要考虑使用进行线程分离与合并,
如果你使用了多进程,那么同步技术就不是你需要考虑的了,你需要考虑的是进程相关的问题了,你是使用fork还是vfork,你该如何处理客户端的请求,如何处理客户端断开连接后保证能够处理完数据并且没有僵尸进程产生,你还需要考虑高并发的问题
你发送接受数据的时候,采用何种方式,是阻塞的还是非阻塞的,还有连接超时、重传等问题
你是选择TCP还是UDP,如果选择UDP你可得忙了,需要你自己去进行重传验证,模拟TCP的三次握手,保证数据不会丢失,保证数据的有序性
还有其他很多需要你考虑的,以上都是指在Linux下的C++,本人对windows C++不了解
推荐书目:UNIX高级环境编程,UNIX网络编程,卷一。C++只不过是你使用这些技术的方式,不管你使用C还是C++,你都可以使用从这两本书中学习到很多有用的知识,但是不能保证你就可以写出高质量的服务器程序。
⑷ 服务器端编程语言有哪些
服务器端编程?
是 Web服务器端编程呢? 还是应用服务器端编程?
也就是 Web Server 还是 App Server
如果是 Web服务回器端编程
有 ASP, ASP.NET, JSP, PHP, python 等等。答
如果是 应用服务器端编程
有 C/C++, C#, Java, python 等等。
⑸ 各位大哥,小弟想请问下C/C++服务器端编程是做什么的。需要学些什么。麻烦详细一点。谢谢
C/C++的服务器端,比如我们经常玩的网游,那个服务器端大部分都是C/C++编程的。还有内本地连接,网上邻居容,ftp协议之类的,基本上windows的客户端网络服务都有对应的服务器。
当然要学习C/C++服务器编程,涉及的方面就比较多了,重要的有网络连接,多线程,数据存储等等的。
你可以参考一下腾讯在C/C++服务器编程工程师的要求。
工作要求:
工作有激情, 认真负责,尽职尽责,沟通协作意识良好,能够承担工作压力,具备良好的学习能力和分析解决问题能力;
全面的软件知识结构(操作系统、数据结构、数据库系统、网络安全),有两年以上互联网应用开发经验,有无线互联网后台开发经验优先;
熟练使用C/C++语言,熟悉Linux下调试、开发环境,对多线程、缓存系统、高性能、高可用系统有经验者优先;
熟悉TCP/IP协议,能熟练使用网络分析工具分析网络相关的故障,有一定的网络编程经验;
熟悉数据库的设计、使用与基本调优,熟练使用mysql数据库进行业务开发;
熟悉Linux,具备Linux下的系统开发经验;
具备大并发、分布式存储、大容量系统开发运营经验优先。
⑹ 同样是C/C++开发,服务器端和客户端差别大吗 如果一直做客户端,跳槽去做服务器端,能立即上手吗
其实差异不大。
客户端一般包括UI和后台。后台主要是发送和接收UI传来回和服答务器端传来的控制信息。
服务器端一般只有后台和基本的命令行。主要就是接收客户端的控制信息和发送给客户端控制信息。比客户端后台多的就是处理客户端发来的信息。
⑺ 想搞C++ 服务器端开发请问需要学习哪些知识
主要是网络通信方面的,如是linux下的服务端开发需要对linux系统比较熟悉。
⑻ linux服务端开发是用C还是C++
一般的服务器,大都属于应用领域。在Linux/UNIX的应用领域搞开发,还是C++多一些,毕竟开发效率高、维护成本低。但是靠近底层的部分,如内核、驱动等方面的开发,还是C语言的天下。
⑼ C++后端开发是做什么的
做服务器的,实现一些功能
比如游戏的后台,你要用数据库管理玩家的信息吧,还有要管内理玩家的容登陆,最主要的要响应玩家的操作等等,这些都是后台服务器做的事情。前端是跟用户直接交互的模块,前端会把用户的一些操作数据和请求发给后端,由后端实现各种业务功能,然后前端会把执行结果直观地告知用户
大概就是这样
⑽ 对于C++ 开发者来说,服务器端开发,游戏开发, 嵌入式软件开发,哪个方向更有前景
在软件开来发领域 C++ 曾保持了二十年源的统治地位,C++开发几乎应用到了所有领域。
背后的原因就是计算能力的价格昂贵,而人力相对便宜,所以开发商愿意采用运行效率比较高的语言和平台来节省计算能力的成本,为此愿意付出一定的开发、测试和维护成本。最近几年我们可以看到,在各个领域,尤其是应用开发领域里,多种语言都有取代C++的趋势,并且这个趋势是不可能逆转的。近几年已经很少有新成立的大型项目选择C++作为开发语言了,应用程序开发领域C++基本也退出了,尤其是移动App,自从Symbian和黑莓挂掉之后,就没有移动平台把C++作为第一语言了。
C++传统上很强势的领域,它依然具有统治地位,主要就是基础设施和超大型软件应用领域。
服务端的瓶颈已经不是计算性能了,而是传输、IO、伸缩性,并行度等
游戏开发除非是引擎,业务逻辑剧情基本都是写脚本了,而除非是大公司有积累,否则也不会自己撸引擎。
嵌入式依然受摩尔定律支配,随着计算能力越来越便宜,语言也会更倾向于开发效率更高的,而不是运行效率高的。