前言
首先说一下业务流程:C++监听微信,将监听到的消息通过Socket发送给Java服务器,服务器接收后进行相应的处理。
GitHub地址:https://github.com/shenshaoming/WeChat2Java,目前来说问题还是挺多的,大家借鉴就好,直接用是不太可能了。
具体实现
1.首先是通过C++获取微信的信息,我是用的鬼手大佬的开源项目,项目的注释写的非常清楚,但是没有一定的C++功底连改都不知道该怎么改。
2.通过C++中的Socket编程,将数据发送到服务器,为了方便发送数据,我进行了封装,具体如下:
函数头文件:Socket2Java.h
#pragma once
#include <iostream>
#pragma comment(lib,"ws2_32.lib")
using namespace std;
void sendMessageBySocket(string message);
void sendMessageBySocket(wstring message);
string wstring2string(wstring wstr);
源文件:Socket2Java.cpp
#include "stdafx.h"
#include <stdio.h>
#include <iostream>
#include <WINSOCK2.H>
#pragma comment(lib,"ws2_32.lib")
#define SERVER_ADDRESS "127.0.0.1" //服务器端IP地址
#define PORT 8080 //服务器的端口号
#define MSGSIZE 1024 //收发缓冲区的大小
using namespace std;
void sendMessageBySocket(string message)
{
WSADATA wsaData;
//连接所用套节字
SOCKET sClient;
//保存远程服务器的地址信息
SOCKADDR_IN server;
//收发缓冲区
char szMessage[MSGSIZE];
//成功接收字节的个数
int ret;
//