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

CC++做服务器需要学习什么样的技术,第1张

服务器,你需要知道服务器都需要什么技术。首先,搭建服务器一般都是在Linux平台,所以你需要了解Linux知识,包括Linux操作命令。

另外,服务器经常需要脚本,你需要知道shell脚本的知识。

然后,就是网络通信,服务器和客户端需要进行通信,你需要知道tcp/ip协议,网络编程,http和https协议,还有单播,组播,广播。

还有,服务器一般还需要数据库做支撑,所以数据库还需要了解。

当然,最基础的编程语言肯定是需要熟练掌握的,最好能懂算法,这样搭建服务器才高效。

最后,还有一些特殊的技术,比如多客户端同时连接服务器问题,epoll,select技术,进程间通信技术,多线程技术,文件操作等。

当然,以上所有技术了解最好,有些是必须熟练使用的。但是有些不用熟练使用,因为服务器,也不会让你全干,分到每个人手上的活只是一部分。

简单的写了一下,没有加注释,应该很好理解,满意的话请采纳

#include <stdio.h>

#include <sys/socket.h>

#include <pthread.h>

void *thread(void *st)

int main(int argc, char *argv[])

{

pthread_t tid

int ret, fd

struct sockaddr_in info

fd = socket(AF_INET, SOCK_STREAM, 0)

if(fd <0)

goto socket_error

{

int var = 1

setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, &var, sizeof(var))

}

info.sin_family = AF_INET

info.sin_port = htons(80)

info.sin_addr.s_addr = 0

ret = bind(fd, (void *)&info, sizeof(info))

if(ret)

goto bind_error

ret = listen(fd, 10)

if(ret)

goto listen_error

while(1)

{

clientfd = accept(fd, NULL, NULL)

pthread_create(&tid, NULL, thread, (void *)clientfd)

}

return 0

socket_error:

printf("socket error!\n")

return -1

bind_error:

printf("bind error!\n")

return -2

lister_error:

printf("lister error!\n")

return -2

}

void *thread(void *st)

{

int ret, rd

char buf[BUFSIZE]

int clientfd = (int)st

rd = read(clientfd, buf, sizeof(buf))

if(rd <0)

{

printf("read error!\n")

return

}

write(clientfd, "shou dao!", 9)

close(clientfd)

}


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/185592.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-29
下一篇2023-03-29

发表评论

登录后才能评论

评论列表(0条)

    保存