资源简介
C++简单局域网聊天工具,
代码片段和文件信息
#pragma comment(lib“ws2_32.lib“)
#include “afx.h“
#include
#include “winsock2.h“
#include “Winnetwk.h“
#pragma comment( lib “mpr.dll“ )
using namespace std;
DWORD WINAPI threadproc(LPVOID IpParameter)
{
SOCKET sock=(SOCKET)IpParameter;
//接收数据
char recvbuf[1024];
memset(recvbuf‘\0‘1024);
sockaddr_in fro;
int frolen=sizeof(fro);
while(1)
{
int data = recvfrom(sockrecvbuf10240(sockaddr *)&fro&frolen);
if(data==SOCKET_ERROR )
{
cout<<“recvfrom failed“< cout< return -1;
}
cout< cout<<“客户端发来:“< Sleep(1000);
}
return 0;
}
void GetNameAndIp()
{
struct hostent *host;
struct in_addr *ptr;
DWORD dwScope = RESOURCE_CONTEXT;
NETRESOURCE *NetResource = NULL;
HANDLE hEnum;
WNetOpenEnum(dwScope NULL NULL NULL &hEnum);
WSADATA wsaData;
WSAStartup(MAKEWORD(1 1) &wsaData);
if (hEnum)
{
DWORD Count = 0xFFFFFFFF;
DWORD BufferSize = 10240;
LPVOID Buffer = new char[10240];
WNetEnumResource(hEnum &Count Buffer &BufferSize);
NetResource = (NETRESOURCE*)Buffer;
char szHostName[200];
for (unsigned int i = 0; i < BufferSize / sizeof(NETRESOURCE); i++ NetResource++)
{
if (NetResource->dwUsage == RESOURCEUSAGE_CONTAINER && NetResource->dwType == RESOURCETYPE_ANY)
{
if (NetResource->lpRemoteName)
{
CString strFullName = NetResource->lpRemoteName;
if (0 == strFullName.Left(2).Compare(_T(“\\\\“)))
strFullName = strFullName.Right(strFullName.GetLength() - 2);
gethostname(szHostName strlen(szHostName));
USES_CONVERSION;
char *pchar = T2A(strFullName);
host = gethostbyname(pchar);
if (host == NULL) continue;
ptr = (struct in_addr *) host->h_addr_list[0];
string str = ““;
for (int n = 0; n<4; n++)
{
CString addr;
if (n > 0)
{
str += “.“;
}
int value = (unsigned int)((unsigned char*)hos
- 上一篇:51单片机实现8个流水灯
- 下一篇:C++数据结构与算法源代码第四版清华大学出版社
相关资源
- 国际象棋的qt源代码
- C++中头文件与源文件的作用详解
- C++多线程网络编程Socket
- VC++ 多线程文件读写操作
- 利用C++哈希表的方法实现电话号码查
- 移木块游戏,可以自编自玩,vc6.0编写
- C++纯文字DOS超小RPG游戏
- VC++MFC小游戏实例教程(实例)+MFC类库
- 连铸温度场计算程序(C++)
- 6自由度机器人运动学正反解C++程序
- Em算法(使用C++编写)
- libstdc++-4.4.7-4.el6.i686.rpm
- VC++实现CMD命令执行与获得返回信息
- 白话C++(全)
- C++标准库第1、2
- 大数类c++大数类
- C++语言编写串口调试助手
- c++素数筛选法
- C++ mqtt 用法
- 商品库存管理系统 C++ MFC
- c++ 多功能计算器
- C++17 In Detail
- 嵌入式QtC++编程课件
- 颜色识别形状识别STM103嵌入式代码
- c++ 邮件多附件群发
- c++ 透明代理(hookproxy)
- mfc 调用redis
- FTP客户端源码(c++)
- c++ 画图(14Qt-XPS)
- c++多边形交并差运算
评论
共有 条评论