另外,服务器经常需要脚本,你需要知道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)
}
Client/Server架构,即服务器/客户端架构。是大家熟知的软件系统体系结构,通过将任务合理分配到Client端和Server端,降低了系统的通讯开销,需要安装客户端才可进行管理操作。而C\S客户端就是以CS架构为基础搭建的软件客户端!
客户端和服务器端的程序不同,用户的程序主要在客户端,服务器端主要提供数据管理、数据共享、数据及系统维护和并发控制等,客户端程序主要完成用户的具体的业务。
开发比较容易,操作简便,但应用程序的升级和客户端程序的维护较为困难。
相对于CS架构而言的市BS架构,在这里简单给你提一下。
即Browser/Server (浏览器/服务器) 结构,是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户界面完全通过WWW浏览器实现。
客户端基本上没有专门的应用程序,应用程序基本上都在服务器端。由于客户端没有程序,应用程序的升级和维护都可以在服务器端完成,升级维护方便。由于客户端使用浏览器,使得用户界面“丰富多彩”,但数据的打印输出等功能受到了限制。为了克服这个缺点,一般把利用浏览器方式实现困难的功能,单独开发成可以发布的控件,在客户端利用程序调用来完成
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)