UDP服务器端代码:
#include "stdafx.h"
#include
#include
#pragma comment(lib,"ws2_32.lib")
#define PORT 9000 //对外服务端口
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
WSADATA wsaData={0};
int iResutl = WSAStartup(0x0202,&wsaData);
SOCKET sock = socket(AF_INET,SOCK_DGRAM,0);
if(sock == INVALID_SOCKET)
{
cout <<"创建套接字失败!" <
#pragma comment(lib,"ws2_32.lib")
#define PORT 8050 //自己的端口
int _tmain(int argc, _TCHAR* argv[])
{
//UDP客户端
WSADATA wsaData={0};
int iResult = WSAStartup(0x0202,&wsaData);
SOCKET sock = socket(AF_INET,SOCK_DGRAM,0);//UDP协议类型
SOCKADDR_IN sa={AF_INET,htons(PORT)};
int n = bind(sock,(sockaddr*)&sa,sizeof(sa));//绑定端口,可以不填端口
SOCKADDR_IN to={AF_INET};
to.sin_port = htons(9000); //对方端口
to.sin_addr.S_un.S_addr = inet_addr("127.0.0.1"); //对方IP地址
int a = sendto(sock,"hello",5,0,(sockaddr*)&to,sizeof(to));
}
用MFC类库中的CSocket类写客户端代码如下:
// Client.cpp : 定义控制台应用程序的入口点。
#include "stdafx.h"
#include
#include
#include
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
//控制台中要加这一句,否则出错
if(!AfxWinInit(::GetModuleHandle(NULL),NULL,::GetCommandLine(),0))
{
return FALSE;
}
AfxSocketInit();//初始化Socket库
CSocket sock;
BOOL ret = sock.Create(29081,SOCK_DGRAM);
if(!ret)
{
cout << "Socket创建错误" << WSAGetLastError() <
文章评论