Windows Socket programming 2

来源:互联网 发布:拼人脸五官的软件 编辑:程序博客网 时间:2024/05/18 18:17
Server:
#include<winsock2.h>
#include<stdio.h>
#include<windows.h>
# pragma comment(lib,"WS2_32.lib")
int  main()
{


WSADATA data;
WORD w =MAKEWORD(2,0); // Set the socket version
char sztext[] = "Welcome you here ,now we can talk.\r\n"; // define the information of welcome .
::WSAStartup(w,&data); // init socket db 
SOCKET s;
s=::socket(AF_INET,SOCK_DGRAM,0); // create an udp socket
sockaddr_in addr,addr2; //define the address of socket 
int n =sizeof(addr2); //the sizeof address
char buff[10] ={0};
addr.sin_family=AF_INET;
addr.sin_port=htons(1110);
addr.sin_addr.S_un.S_addr=INADDR_ANY;
::bind(s,(sockaddr*)&addr,sizeof(addr)); //bind the socket 


printf("UDP Server was online and listening...\r\n");
if(::recvfrom(s,buff,19,0,(sockaddr*)&addr2,&n)!=-1)
{
printf("%s Allready connction\r\n",inet_ntoa(addr2.sin_addr));
::sendto(s,sztext,sizeof(sztext),0,(sockaddr*)&addr2,n); // send msg to clinet 
::closesocket(s);
::WSACleanup();


}
if(getchar())
{
return 0;
}
else
{
::Sleep(100);
}

}


Clinet :


#include<winsock2.h>
#include<stdio.h>
#include<windows.h>
# pragma comment(lib,"WS2_32.lib")
int  main()
{


WSADATA data;
WORD w =MAKEWORD(2,0); // Set the socket version
char sztext[] = "Welcome you here ,now we can talk.\r\n"; // define the information of welcome .
::WSAStartup(w,&data); // init socket db 
SOCKET s;
s=::socket(AF_INET,SOCK_DGRAM,0); // create an udp socket
sockaddr_in addr,addr2; //define the address of socket 
int n =sizeof(addr2); //the sizeof address
char buff[10] ={0};
addr.sin_family=AF_INET;
addr.sin_port=htons(1110);
addr.sin_addr.S_un.S_addr=inet_addr("127.0.0.1"); // set the server address 

printf("UDP CLINET WAS READY...\r\n");
if(::sendto(s,sztext,sizeof(sztext),0,(sockaddr*)&addr,n)!=0)
{
::recvfrom(s,buff,10,0,(sockaddr*)&addr2,&n);
printf("SERVER SAID THAT: %s \r\n",buff);
}
if(getchar())
{
return 0;
}
else
{
::Sleep(100);
}
}
原创粉丝点击