//服务端的socket编程
#include<stdio.h>
#include<winsock2.h>
#pragma comment(lib,"ws2_32")
int main(int argc,char* argv[])
{
char* sp="127.0.0.1";
int nSize=sizeof(SOCKADDR);
char recvBuf[100];
WSADATA wsaData;
//配置socket版本并初始化(释放ws2_32.dll动态链接库)
WSAStartup(MAKEWORD(2,2),&wsaData);
//创建服务器端套接字
SOCKET s=socket(PF_INET,SOCK_STREAM,IPPROTO_TCP);
//设定服务端地址(sockaddr_in类型,包含协议类型,网路地址,端口号)
sockaddr_in sockaddr;
// 设置通信协议类型
sockaddr.sin_family=PF_INET;
//设置IP
sockaddr.sin_addr.S_un.S_addr=inet_addr(sp);
// 设置端口
sockaddr.sin_port=htons(827);
//联绑
bind(s,(SOCKADDR*)&sockaddr,nSize);
//监听
listen(s,1);
printf("Listen...\n");
SOCKADDR clientAddr;
//创建服务端socket
SOCKET clientSock;
//接受
clientSock=accept(s,(SOCKADDR*)&clientAddr,&nSize);
//发送
send(clientSock,"Hello client \r\n",strlen("Hello client\r\n")+1,NULL);
//接受
recv(clientSock, recvBuf, 100, 0);
printf(recvBuf);
//关闭套接字
closesocket(clientSock);
closesocket(s);
//清除
WSACleanup();
getchar();
return 0;
}
#include<stdio.h>
#include<winsock2.h>
#pragma comment(lib,"ws2_32")
int main(int argc,char* argv[])
{
char* sp="127.0.0.1";
int nSize=sizeof(SOCKADDR);
char recvBuf[100];
WSADATA wsaData;
//配置socket版本并初始化(释放ws2_32.dll动态链接库)
WSAStartup(MAKEWORD(2,2),&wsaData);
//创建服务器端套接字
SOCKET s=socket(PF_INET,SOCK_STREAM,IPPROTO_TCP);
//设定服务端地址(sockaddr_in类型,包含协议类型,网路地址,端口号)
sockaddr_in sockaddr;
// 设置通信协议类型
sockaddr.sin_family=PF_INET;
//设置IP
sockaddr.sin_addr.S_un.S_addr=inet_addr(sp);
// 设置端口
sockaddr.sin_port=htons(827);
//联绑
bind(s,(SOCKADDR*)&sockaddr,nSize);
//监听
listen(s,1);
printf("Listen...\n");
SOCKADDR clientAddr;
//创建服务端socket
SOCKET clientSock;
//接受
clientSock=accept(s,(SOCKADDR*)&clientAddr,&nSize);
//发送
send(clientSock,"Hello client \r\n",strlen("Hello client\r\n")+1,NULL);
//接受
recv(clientSock, recvBuf, 100, 0);
printf(recvBuf);
//关闭套接字
closesocket(clientSock);
closesocket(s);
//清除
WSACleanup();
getchar();
return 0;
}