1、打开控制面板,选择并进入“程序”,双击“打开或关闭Windows服务”,在弹出的窗口中选择“Internet信息服务”下面所有地选项,点击确定后,开始更新服务。
2、更新完成后,打开浏览器,输入“http://localhost/”回车,如果此时出现IIS7欢迎界面,说明Web服务器已经搭建成功。
3、当web服务器搭建成功后,我们下一步所要做的就是把我们开发的网站安装到Web服务器的目录中。一般情况下,当Web服务器安装完成后,会创建路径“%系统根目录%inetpub/wwwroot”,将我们开发的网站COPY到该路径下。即可实现本地访问该网站。
4、设置防火墙,让局域网当其它计算机也能访问本地网站资源。具体方法:打开控制面板,选择“系统和安全”,点击“允许程序通过Windows防火墙”,在弹出的对话框中勾选“万维网服务HTTP”右侧的两个复选框,最后点击确定退出。
5、在局域网中其它计算机上,打开浏览器,输入 “http://Web服务器的IP地址/”按回车键,就可以访问服务器上的资源”。 经过以上步骤的设置,局域网中的其它用户就可以通过浏览器访问你所共享的web资源了!
扩展资料:
入门级服务器所连的终端比较有限(通常为20台左右),况且在稳定性、可扩展性以及容错冗余性能较差,仅适用于没有大型数据库数据交换、日常工作网络流量不大,无需长期不间断开机的小型企业。
不过要说明的一点就是目前有的比较大型的服务器开发、生产厂商在后面我们要讲的企业级服务器中也划分出几个档次,其中最低档的一个企业级服务器档次就是称之为"入门级企业级服务器",这里所讲的入门级并不是与我们上面所讲的"入门级"具有相同的含义,不过这种划分的还是比较少。
还有一点就是,这种服务器一般采用Intel的专用服务器CPU芯片,是基于Intel架构(俗称"IA结构")的,当然这并不是一种硬性的标准规定,而是由于服务器的应用层次需要和价位的限制。
以下是windows环境下搭建iis服务器1、准备工具:iis、Donet2.0或更高版本、mssql 2000或者更高版本或者office套装的access数据库(根据实际情况)
2、安装步骤:
1)、安装配置IIS,我这里不能插入图片,详细配置可以参考网上很多文档。
2)、设置好操作系统的安全配置,这个有很多内容,可以网上搜索
3)、安装数据库
4)、安装你所要搭建的平台
1.简单服务器//#include <winsock2.h>
//#pragma comment(lib,"WS2_32.lib")
WSADATA wsd
static UINT port=%%1
UINT Listen(LPVOID pParam)
{
SOCKET sServer,sClient
char buf[1024]
int retVal
if(WSAStartup(MAKEWORD(2,2),&wsd)!=0)
{
return -1//失败
}
sServer=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP)
if(INVALID_SOCKET==sServer)
{
WSACleanup()
return -1//创建套接字失败
}
SOCKADDR_IN addrServ
addrServ.sin_family=AF_INET
addrServ.sin_port=htons((short)pParam)
addrServ.sin_addr.s_addr=INADDR_ANY
retVal=bind(sServer,(LPSOCKADDR)&addrServ,sizeof(SOCKADDR_IN))
if(SOCKET_ERROR==retVal)
{
closesocket(sServer)
WSACleanup()
return -1//绑定套接字失败
}
retVal=listen(sServer,1)
if(SOCKET_ERROR==retVal)
{
closesocket(sServer)
WSACleanup()
return -1//开始监听失败
}
sockaddr_in addrClient
int addrClientlen=sizeof(addrClient)
sClient=accept(sServer,(sockaddr FAR*)&addrClient,&addrClientlen)
if(INVALID_SOCKET==sClient)
{
closesocket(sServer)
WSACleanup()
return -1//开始接受客户端连接失败
}
ZeroMemory(buf,sizeof(buf))
retVal=recv(sClient,buf,sizeof(buf),0)
if(SOCKET_ERROR==retVal)
{
closesocket(sServer)
closesocket(sClient)
WSACleanup()
return -1//接收数据失败
}
CString %%2(buf)
closesocket(sServer)
closesocket(sClient)
WSACleanup()
return 0
}
CWinThread *pThread=AfxBeginThread(Listen,&port)
2.简单客户端
//#include <winsock2.h>
//#pragma comment(lib,"WS2_32.lib")
WSADATA wsd
SOCKET sHost
SOCKADDR_IN servAddr
char buf[1024]
int retVal
if(WSAStartup(MAKEWORD(2,2),&wsd)!=0)
{
return -1//失败
}
sHost=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP)
if(INVALID_SOCKET==sHost)
{
WSACleanup()
return -1//创建套接字失败
}
servAddr.sin_family=AF_INET
servAddr.sin_addr.s_addr=inet_addr(%%3)
servAddr.sin_port=htons((short)%%2)
int nServAddlen=sizeof(servAddr)
retVal=connect(sHost,(LPSOCKADDR)&servAddr,sizeof(servAddr))
if(SOCKET_ERROR==retVal) {
closesocket(sHost)
WSACleanup()
return -1//连接服务器失败
}
ZeroMemory(buf,sizeof(buf))
strcpy(buf,%%3)
retVal=send(sHost,buf,sizeof(buf),0)
if(SOCKET_ERROR==retVal)
{
closesocket(sHost)
WSACleanup()
return -1//向服务器发送数据失败
}
closesocket(sHost)
WSACleanup()
3.获得本机IP
//#include <winsock2.h>
//#pragma comment(lib,"WS2_32.lib")
WSADATA wsd
if(WSAStartup(MAKEWORD(2,2),&wsd)!=0)
{
return -1//失败
}
char szHostname[100],szHostaddress[200]
if(gethostname(szHostname,sizeof(szHostname))!=SOCKET_ERROR)
{
HOSTENT *pHostEnt=gethostbyname(szHostname)
if(pHostEnt!=NULL){
sprintf(szHostaddress,"%d.%d.%d.%d",
( pHostEnt->h_addr_list[0][0]&0x00ff ),
( pHostEnt->h_addr_list[0][1]&0x00ff ),
( pHostEnt->h_addr_list[0][2]&0x00ff ),
( pHostEnt->h_addr_list[0][3]&0x00ff ))
}
}
else
return
CString %%1(szHostaddress)
4.端对端通信
//#include <winsock2.h>
//#pragma comment(lib,"WS2_32.lib")
WSADATA wsd
SOCKET s
char buf[1024]
if(WSAStartup(MAKEWORD(2,2),&wsd)!=0)
{
return -1//失败
}
s=socket(AF_INET,SOCK_DGRAM,0)
if(s==INVALID_SOCKET)
{
WSACleanup()
return -1//创建套接字失败
}
SOCKADDR_IN servAddr
servAddr.sin_family=AF_INET
servAddr.sin_addr.s_addr=inet_addr(%%1)
servAddr.sin_port=htons(INADDR_ANY)
if(bind(s,(SOCKADDR*)&servAddr,sizeof(SOCKADDR_IN))==SOCKET_ERROR)
{
closesocket(s)
WSACleanup()
return -1//绑定套接字失败
}
int nServAddrlen=sizeof(servAddr)
ZeroMemory(buf,sizeof(buf))
if(recvfrom(s,buf,sizeof(buf),0,(SOCKADDR*)&servAddr,&nServAddrlen)==SOCKET_ERROR)
{
closesocket(s)
WSACleanup()
return -1//接收数据失败
}
CString %%2(buf)
ZeroMemory(buf,sizeof(buf))
strcpy(buf,%%3)
SOCKADDR_IN clientAddr
clientAddr.sin_family=AF_INET
clientAddr.sin_addr.s_addr=inet_addr(%%4)
clientAddr.sin_port=htons((short)%%5)
int nClientlen=sizeof(clientAddr)
if(sendto(s,buf,sizeof(buf),0,(SOCKADDR*)&clientAddr,nClientlen)==SOCKET_ERROR)
{
closesocket(s)
WSACleanup()
return -1//向服务器发送数据失败
}
closesocket(s)
WSACleanup()
5.点对点通信
//#include <winsock2.h>
//#pragma comment(lib,"WS2_32.lib")
WSADATA wsd
SOCKADDR_IN addrServ,addrServ2
SOCKET sServer,sClient,sHost
int retVal
sockaddr_in addrClient
char buf[1024]
static UINT port=%%2
BOOL listenerRun=TRUE
UINT Listen(LPVOID pParam)
{
addrServ.sin_family=AF_INET
addrServ.sin_port=htons((UINT)pParam)
addrServ.sin_addr.s_addr=INADDR_ANY
retVal=bind(sServer,(LPSOCKADDR)&addrServ,sizeof(SOCKADDR_IN))
if(SOCKET_ERROR==retVal)
{
closesocket(sServer)
WSACleanup()
return -1//绑定套接字失败
}
retVal=listen(sServer,1)
if(SOCKET_ERROR==retVal)
{
closesocket(sServer)
WSACleanup()
return -1//开始监听失败
}
int addrClientlen=sizeof(addrClient)
sClient=accept(sServer,(sockaddr FAR*)&addrClient,&addClientlen)
if(INVALID_SOCKET==sClient)
{
closesocket(sServer)
WSACleanup()
return -1//接收客户端请求失败
}
while(listenerRun)
{
ZeroMemory(buf,sizeof(buf))
retVal=recv(sClient,buf,sizeof(buf))
if(SOCKET_ERROR==retVal)
{
closesocket(sServer)
closesocket(sClient)
WSACleanup()
return -1//接收客户端数据失败
}
CString %%4(buf)
}
}
if(WSAStartup(MAKEWORD(2,2),&wsd)!=0)
{
return -1//失败
}
sServer=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP)
if(INVALID_SOCKET==sServer)
{
WSACleanup()
return -1//创建套接字失败
}
CWinThread *pThread=AfxBeginThread(Listen,&port)
sHost=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP)
if(INVALID_SOCKET==sHost)
{
WSACleanup()
return -1//创建套接字失败
}
servAddr2.sin_family=AF_INET
servAddr2.sin_addr.s_addr=inet_addr(%%1)
servAddr.sin_port=htons((short)%%3)
int nServerAddrlen=sizeof(servAddr2)
retVal=connect(sHost,(LPSOCKADDR)&servAddr2,sizeof(servAddr2))
if(SOCKET_ERROR==retVal)
{
closesocket(sHost)
WSACleanup()
return -1//连接失败
}
zeroMemory(buf,sizeof(buf))
strcpy(buf,%%5)
retVal=send(sHost,buf,sizeof(buf),0)
if(SOCKET_ERROR==retVal)
{
closesocket(sHost)
WSACleanup()
return -1//向发送数据失败
}
listenerRun=FALSE
DWORD dwExitCode
::GetExitCodeThread(pThread->m_hThread,&dwExitCode)
pThread=null
closesocket(sServer)
closesocket(sClient)
closesocket(sHost)
WSACleanup()
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)