#include <WINSOCK2.H>
#include <stdio.h>
#include <windows.h>
#pragma comment (lib,"WS2_32") //显示连接套接字库
int main()
{
WSADATA data;
WORD w=MAKEWORD(2,0); //定义版本好的
char sztext[]="欢迎你\r\n";
::WSAStartup(w,&data); //初始化套接字库
SOCKET s,s1; //创建套接字句柄
s=::socket(AF_INET,SOCK_STREAM,0); //创建tcp套接字
sockaddr_in addr,addr2; //定义套接字地址结构
int n=sizeof addr2;
addr.sin_family=AF_INET;
addr.sin_port=htons(75); //将一个u_short的ip地址从主机地址顺序转到网络地址顺序
addr.sin_addr.S_un.S_addr=INADDR_ANY;
::bind(s,(sockaddr*)&addr,n); //绑定
::listen(s,5);
printf("服务器已经启动\r\n");
while (1)
{
s1=::accept(s,(sockaddr*)&addr2,&n); //接受连接请求
if (s1!=NULL)
{
printf("%s 已经连接上\r\n",inet_ntoa(addr2.sin_addr)); //ip地址里的sin_addr是网络地址 故要转换为字符串
::send(s1,sztext,sizeof(sztext),0); //发送数据
::closesocket(s); //关闭套接字
::closesocket(s1);
::WSACleanup(); //释放套接字库
if (getchar())
{
return 0;
}
else
Sleep(100); //睡眠100ms
}
}
}
#include <stdio.h>
#include <windows.h>
#pragma comment (lib,"WS2_32") //显示连接套接字库
int main()
{
WSADATA data;
WORD w=MAKEWORD(2,0); //定义版本好的
char sztext[]="欢迎你\r\n";
::WSAStartup(w,&data); //初始化套接字库
SOCKET s,s1; //创建套接字句柄
s=::socket(AF_INET,SOCK_STREAM,0); //创建tcp套接字
sockaddr_in addr,addr2; //定义套接字地址结构
int n=sizeof addr2;
addr.sin_family=AF_INET;
addr.sin_port=htons(75); //将一个u_short的ip地址从主机地址顺序转到网络地址顺序
addr.sin_addr.S_un.S_addr=INADDR_ANY;
::bind(s,(sockaddr*)&addr,n); //绑定
::listen(s,5);
printf("服务器已经启动\r\n");
while (1)
{
s1=::accept(s,(sockaddr*)&addr2,&n); //接受连接请求
if (s1!=NULL)
{
printf("%s 已经连接上\r\n",inet_ntoa(addr2.sin_addr)); //ip地址里的sin_addr是网络地址 故要转换为字符串
::send(s1,sztext,sizeof(sztext),0); //发送数据
::closesocket(s); //关闭套接字
::closesocket(s1);
::WSACleanup(); //释放套接字库
if (getchar())
{
return 0;
}
else
Sleep(100); //睡眠100ms
}
}
}