您当前的位置: 首页 >  网络

韩曙亮

暂无认证

  • 2浏览

    0关注

    1068博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

【Android 逆向】Android 逆向通用工具开发 ( 网络模块开发 | SOCKET 网络套接字初始化 | 读取远程端 “Android 模拟器“ 信息 | 向远程端写出数据 )

韩曙亮 发布时间:2021-11-07 23:45:18 ,浏览量:2

文章目录
  • 前言
  • 一、SOCKET 网络套接字初始化
  • 二、SOCKET 网络套接 读取远程端 ( Android 模拟器 ) 信息
  • 三、SOCKET 网络套接 向远程端 ( Android 模拟器 ) 写出数据

前言

本篇博客重点分析 CNetwork 网络模块 ;

一、SOCKET 网络套接字初始化

CNetwork::CNetwork() 构造函数中 , 初始化套接字 , 初始化时设置 无效套接字 INVALID_SOCKET ;

CNetwork::CNetwork()
{
	// 初始化套接字 , 初始化时设置 无效套接字 INVALID_SOCKET
	m_server = INVALID_SOCKET;
}

在初次连接时 , 判断当前套接字是否是无效的 ,

  • 如果当前套接字是无效的 , 则初始化网络 , 建立网络连接 ;
  • 如果当前套接字不是无效的 , 则关闭当前套接字 , 然后设置为无效套接字 ;
bool CNetwork::WaitClientOnline()
{
	/* 等待客户端联网时 , 判断当前套接字是否是无效的 ,
	   如果当前套接字是无效的 , 则初始化网络 , 建立网络连接
	   如果当前套接字不是无效的 , 则关闭当前套接字 , 然后设置为无效套接字
	*/
	if (m_server != INVALID_SOCKET) {
		
		closesocket(m_server);
		m_server = INVALID_SOCKET;
	}
	int ret = 0;
	sockaddr_in server;
	BOOL bsocket;
	m_server = WSASocket(AF_INET, SOCK_STREAM, 0, NULL, 0, WSA_FLAG_OVERLAPPED);
	bsocket = TRUE;
	server.sin_family = AF_INET;
	/* 连接本机 IP 地址 , 如果是与真机连接 , 这里设置手机在局域网的 IP 地址 */
	server.sin_addr.s_addr = inet_addr("127.0.0.1");
	/* 自定义端口 , 手机端 与 PC 端约定一致即可 , 1024 ~ 65535 范围 , 1024 以下是系统使用的端口 */
	server.sin_port = htons(9527);
	/* 正式连接的方法 */
	ret = connect(m_server, (const struct sockaddr*)&server, sizeof(server));
	if (ret             
关注
打赏
1663594092
查看更多评论
0.3034s