UDP会话单例(windows)
来源:互联网 发布:如何查询网络是否稳定 编辑:程序博客网 时间:2024/06/05 10:07
服务端:
#include "stdafx.h"
#include <iostream>
using namespace std;
#include <WinSock2.h>
#pragma comment(lib,"WS2_32.lib")
#define MAX_BUFFER 256
#include "stdafx.h"
#include <iostream>
using namespace std;
#include <WinSock2.h>
#pragma comment(lib,"WS2_32.lib")
#define MAX_BUFFER 256
int _tmain(int argc, _TCHAR* argv[])
{
WSADATA wsaData;
WORD sockVersion = MAKEWORD(2,2);
if(::WSAStartup(sockVersion,&wsaData))
exit(0);
SOCKET sock = ::socket(AF_INET, SOCK_DGRAM, 0);
if(sock == SOCKET_ERROR)
{
cout<<"Fail socket()."<<endl;
return 0;
}
{
WSADATA wsaData;
WORD sockVersion = MAKEWORD(2,2);
if(::WSAStartup(sockVersion,&wsaData))
exit(0);
SOCKET sock = ::socket(AF_INET, SOCK_DGRAM, 0);
if(sock == SOCKET_ERROR)
{
cout<<"Fail socket()."<<endl;
return 0;
}
sockaddr_in addr;
addr.sin_family = AF_INET;
addr.sin_port = htons(6000);
addr.sin_addr.S_un.S_addr = INADDR_ANY;
addr.sin_family = AF_INET;
addr.sin_port = htons(6000);
addr.sin_addr.S_un.S_addr = INADDR_ANY;
if(::bind(sock,(SOCKADDR*)&addr, sizeof(addr)) == SOCKET_ERROR)
{
cout<<"Failed bind()."<<endl;
return 0;
}
{
cout<<"Failed bind()."<<endl;
return 0;
}
char szTest[254]={0};
int len = sizeof(addr);
int len = sizeof(addr);
while(true)
{
int nRecv = recvfrom(sock,szTest,254,0,(SOCKADDR*)&addr,&len);
if(nRecv > 0)
{
szTest[nRecv] = 0;
cout<<"接受的数据为:"<<szTest<<endl;
}
}
::closesocket(sock);
::WSACleanup();
getchar();
return 0;
}
客户端:
#include "stdafx.h"
#include <iostream>
using namespace std;
::WSACleanup();
getchar();
return 0;
}
客户端:
#include "stdafx.h"
#include <iostream>
using namespace std;
#include <WinSock2.h>
#pragma comment(lib,"WS2_32.lib")
#define MAX_BUFFER 256
#pragma comment(lib,"WS2_32.lib")
#define MAX_BUFFER 256
int _tmain(int argc, _TCHAR* argv[])
{
WSADATA wsaData;
WORD sockVersion = MAKEWORD(2,2);
if(::WSAStartup(sockVersion,&wsaData))
exit(0);
SOCKET sock = ::socket(AF_INET, SOCK_DGRAM, 0);
if(sock == SOCKET_ERROR)
{
cout<<"Fail socket()."<<endl;
return 0;
}
sockaddr_in addr;
addr.sin_family = AF_INET;
addr.sin_port = htons(6000);
addr.sin_addr.S_un.S_addr = inet_addr("127.0.0.1");
char szTest[] = "It is a test!";
int len = sizeof(addr);
{
WSADATA wsaData;
WORD sockVersion = MAKEWORD(2,2);
if(::WSAStartup(sockVersion,&wsaData))
exit(0);
SOCKET sock = ::socket(AF_INET, SOCK_DGRAM, 0);
if(sock == SOCKET_ERROR)
{
cout<<"Fail socket()."<<endl;
return 0;
}
sockaddr_in addr;
addr.sin_family = AF_INET;
addr.sin_port = htons(6000);
addr.sin_addr.S_un.S_addr = inet_addr("127.0.0.1");
char szTest[] = "It is a test!";
int len = sizeof(addr);
if(SOCKET_ERROR != sendto(sock,szTest,strlen(szTest),0,(SOCKADDR*)&addr, sizeof(addr)))
{
cout<<"数据已发送..."<<endl;
}
else
cout<<"发送错误!"<<endl;
{
cout<<"数据已发送..."<<endl;
}
else
cout<<"发送错误!"<<endl;
::closesocket(sock);
::WSACleanup();
getchar();
return 0;
}
UDP 相对于TCP还是要简单一些
不是面向字节流的,所以传输过程中可能会丢失。
就本例来说,不管服务器端是否开启,客户端数据仍发送出去
::WSACleanup();
getchar();
return 0;
}
UDP 相对于TCP还是要简单一些
不是面向字节流的,所以传输过程中可能会丢失。
就本例来说,不管服务器端是否开启,客户端数据仍发送出去
0 0
- UDP会话单例(windows)
- servlet 创建/生命周期-单例模式/session唯一/会话超时
- Windows 会话管理
- 理解Windows会话
- 理解Windows会话
- Windows会话登录流程
- UDP 单播示例
- UDP单播
- 通信猫调试软件(WINDOWS单文件绿色版 串口/并口/USB/TCP/UDP/HTTP/二维码。。。)
- windows下进程单例
- windows建立会话查看木马
- C#实现UDP单播
- Windows Socket TCP/UDP
- windows下实现UDP
- Singleton Session Pattern (单实例会话模式)
- Windows下大量SYSMAN会话超出会话限制
- Windows Media Player单例模式
- Windows下UDP编程 服务器
- 简单链表(C实现)
- ACdream 1099 (STL:求数组中第k小的数)
- Matrix Chain Multiplication (UVa 442)
- java中常见错误
- 深析静态链接库和动态链接库相同函数覆盖及库调用顺序问题
- UDP会话单例(windows)
- oracle 获得所有表的描述
- 转ssh详细登录过程
- c primer plus 第八章答案
- tcp/ip 全双工会话(windows)
- 连接池c3p0,dbcp和proxool的使用
- IO字节流总结
- Encoding
- 小记