资源简介
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++数据结构与算法源代码第四版清华大学出版社
相关资源
- C++数据结构与算法源代码第四版清华
- 课程设计 c++学生教师管理系统
- 天津理工C++实验报告齐全
- c++图书馆管理系统
- c++语言写最长公共子序列问题
- c++实现的sql基本功能 Linux,win下可运
- c++病毒
- C++ 超市管理系统
- DEV C++ 主题配色文件 Visual Studio 2017深
- 仿雷电射击游戏基于VC++MFC
- 三国杀c++游戏代码含注释
- 动态规划最短路径.cpp
- C++版DS证据理论
- c++ 线程池 即用版
- 一定经纬范围的墨卡托投影.cpp
- 用C++实现的华容道游戏
- C++复习资料精华
- C++,链表,通讯录系统
- 算术编码c++170579
- 自适应哈夫曼编码C++
- C++从入门到精通第三版 清华大学出版
- 五子棋C++代码
- C++课设 简单的投票系统
- 计算机图形学VSC++生成时钟报告含代码
- 基于c++小型公司工资管理系统的设计
- 节约里程法c++实现
- C++学习路线视频全套
- Visual C++ 网络 流量 监控 系统
- C++ 矩阵类 实现常用的矩阵操作
- 计算机图形学直线段的扫描转换C++实
评论
共有 条评论