C/C++做服务器需要学习什么样的技术

 我来答
遗失的迷惘O
2019-01-25 · TA获得超过477个赞
知道小有建树答主
回答量:382
采纳率:77%
帮助的人:99.8万
展开全部
做服务器,你需要知道服务器都需要什么技术。首先,搭建服务器一般都是在Linux平台,所以你需要了解Linux知识,包括Linux操作命令。
另外,服务器经常需要脚本,你需要知道shell脚本的知识。
然后,就是网络通信,服务器和客户端需要进行通信,你需要知道tcp/ip协议,网络编程,http和https协议,还有单播,组播,广播。
还有,服务器一般还需要数据库做支撑,所以数据库还需要了解。
当然,最基础的编程语言肯定是需要熟练掌握的,最好能懂算法,这样搭建服务器才高效。
最后,还有一些特殊的技术,比如多客户端同时连接服务器问题,epoll,select技术,进程间通信技术,多线程技术,文件操作等。
当然,以上所有技术了解最好,有些是必须熟练使用的。但是有些不用熟练使用,因为服务器,也不会让你全干,分到每个人手上的活只是一部分。
小鸟云企业级云产品
2019-05-17 · 专注为用户提供一站式核心网络云端部署服务
小鸟云企业级云产品
小鸟云始终本着质量为本、客户为根、勇于拼搏、务实创新的理念,不断提升产品硬件性能、创新底层虚拟化技术、革新用户服务体验,助力更多的合作伙伴、中小企业、开发者能够受益于云计算带来的便利和价值!
向TA提问
展开全部

服务器所用到的知识:

  • TCP/UDP,最基本的

  • 并发——你可以选择使用select、poll,或者是多线程、多进程

  • 如果你使用多线程,那么就必须使用同步技术——信号量、互斥体、条件变量的一种或几种,并且对于多线程技术,你还需要考虑使用进行线程分离与合并,

  • 如果你使用了多进程,那么同步技术就不是你需要考虑的了,你需要考虑的是进程相关的问题了,你是使用fork还是vfork,你该如何处理客户端的请求,如何处理客户端断开连接后保证能够处理完数据并且没有僵尸进程产生,你还需要考虑高并发的问题

  • 你发送接受数据的时候,采用何种方式,是阻塞的还是非阻塞的,还有连接超时、重传等问题

  • 你是选择TCP还是UDP,如果选择UDP你可得忙了,需要你自己去进行重传验证,模拟TCP的三次握手,保证数据不会丢失,保证数据的有序性

  • 还有其他很多需要你考虑的,以上都是指在Linux下的C++,本人对windows C++不了解

  • 推荐书目:UNIX高级环境编程,UNIX网络编程,卷一。C++只不过是你使用这些技术的方式,不管你使用C还是C++,你都可以使用从这两本书中学习到很多有用的知识,但是不能保证你就可以写出高质量的服务器程序。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
膲g偕覓kx事
2019-01-25
知道答主
回答量:5
采纳率:33%
帮助的人:2.8万
展开全部
需要学linux,因为的多是服务器都挂载在linux环境下,还需要熟悉网络协议如TCP、UDP、HTTP等
和一些相关的网络编程技术,以及需要多进程多线程或者多路IO转接等技术等来实现服务器的高并发
学习C/C++,你可以到黑马程序员学习, 不仅仅有学习路线图,还有配套的学习视频和学习工具。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
将臣c66
2019-01-25
知道答主
回答量:40
采纳率:0%
帮助的人:3万
展开全部
C++的话,操作系统原理,库,网络,C++11/14,算法和数据结构,unix平台,
epoll。
异步IO不知道,反正我们网易有很多开源库,不清楚你那边的情况,弄明白DX就可以了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
兔家墨10
2019-07-26 · TA获得超过2813个赞
知道大有可为答主
回答量:2.5万
采纳率:73%
帮助的人:1752万
展开全部
学互联网行业技术会是不错的选择,现在设计类,软件开发类和电商类都是社会追求的人才
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式