mfc作为服务端,android作为客服端进行socket通讯,android在wifi下手机与电脑的socket通信...
在 wifi 局域网下,手机可以和电脑通过 socket 通信。手机做服务端,电脑做客户端;也可 以反过来,电脑做服务端,手机做客户端。 下面介绍的是手机作为服务端,电脑使用 MFC 编程作为客户端,原理是,手机建立一个 ServerSocket,并获取自己的 ip 地址和端口 port;然后电脑通过 socket 连接手机的 ip:port 。 手机建立 socketServer 代码 private ServerSocket serverSocket = null; private Runnable mcreateRunnable = new Runnable() { public void run() { try { serverSocket = new ServerSocket(0);//系统分配端口 getLocalIpAddress();//获得手机的 ip 地址 //方法用于等待客服连接 mSocketServer = serverSocket.accept(); //接受客服端数据 BufferedReader 对象 mBufferedReaderServer = new BufferedReader(new InputStreamReader(mSocketServer.getInputStream())); //给客服端发送数据 mPrintWriterServer = new PrintWriter(mSocketServer.getOutputStream(),true); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }; 手机上获取的 ip 地址代码 public String getLocalIpAddress() { try { for (Enumeration en=NetworkInterface.getNetworkInterfaces(); en.hasMoreElements();) { NetworkInterface intf = en.nextElement(); for (Enumeration enumIpAddr=intf.getInetAddresses();enumIpAddr.hasMoreElements();) { InetAddress inetAddress = enumIpAddr.nextElement(); //if (!inetAddress.isLoopbackAddress()) { //if(inetAddress.isSiteLocalAddress()) { String ip = “请连接 IP:“+inetAddress.getHostAddress()+“:“ + serverSocket.getLocalPort()+ ““; } } } } } catch (SocketException ex) { ex.printStackTrace(); } } 电脑上使用的是 MFC 编程, socket 代码如下 DWORD clientThreadID; SOCKET clientSock; char server_address[50] = {0}; char recv_message_client[256] = {0}; struct sockaddr_in server_ip; BOOL clientThreadRun = false; //client BOOL InItClientSock() { //Define Variable WORD wVersionrequested; WSADATA wsaData; wVersionrequested = MAKEWORD(2,0); //Start Sock int err = WSAStartup(wVersionrequested, if (err == -1) { MessageBox(0,“WSAStartup err“, “error“,MB_OK); return FALSE; } return TRUE; } BOOL ConnectSock() { SOCKET clientSockConnect; u_short port; //Ini Sock clientSock = socket(AF_INET,SOCK_STREAM,0); if (ServerSock 2) ) { port = atoi(strPort+1); if(port==0) { MessageBox(0, “IP 端口不对, 参考例子:192.168.12.134:8981“, “提示“, MB_OK); return FALSE; } memset(strPort, 0, sizeof(strPort)); } else { MessageBox(0, “IP 地址不对, 参考例子:192.168.12.134:8981“, “提示 “, MB_OK); return FALSE; } //Connect server_ip.sin_family = AF_INET; server_ip.sin_port = ((port temp.Format(“接收到的信息:%s“,recv_message_client); SetDlgItemText(FindWindow(NULL, WINDOWNHANDLERNAME), IDC_STATIC_IP, temp); analyseCommand(recv_message_client); memset(recv_message_client, 0, sizeof(recv_message_client)); } temp.Format(“接收到的信息:%s“,recv_message_client); } return 0; }
展开阅读全文
mfc作为服务端,android作为客服端进行socket通讯,android在wifi下手机与电脑的socket通信...相关推荐
- (银行简单的管理系统)java实训小型应用开发——数据库,GUI、客服端
一个简单的小型应用,用于模拟银行存取. 基于java多线程,GUI.操作数据库,客服端服务端. GUI界面的代码: 登录界面 package com.Gui; import java.awt.*; i ...
- 【转载】android客服端+eps8266+单片机+路由器之远程控制系统
用android客服端+eps8266+单片机+路由器做了一个远程控制的系统,因为自己是在实验室里,所以把实验室的门,灯做成了远程控制的. 控制距离有多远------只能说很远很远,只要你手机能上网的 ...
- (复习)android 调用系统相机 图库 裁剪-图片上传-客服端-服务器
引用转载http://www.cnblogs.com/eyu8874521/archive/2012/07/20/2600697.html 效果: 客服端代码: package com.cn.lxz. ...
- iOS开发-使用OC搭建自己的Socket 包括服务端和客服端
iOS开发-使用OC搭建自己的Socket 包括服务端和客服端 前言 开发须知 客服端 服务端 两端测试 前言 iOS开发中需要使用到Socket通信的地方,socket分为UDP和TCP,这次分享的 ...
- 远程桌面服务ActiveX空件(mstscax.dll)跟客服端外壳的版本不相配
远程桌面服务ActiveX空件(mstscax.dll)跟客服端外壳的版本不相配 浏览器重置好了
- JSP获得客服端MAC地址
为什么80%的码农都做不了架构师?>>> package com.sun.servlet;import java.io.IOException; import java.net ...
- CXF 客服端调用报错
服务端已经发布了WSDL,现在在客服端生成web service客服端代码,在eclipse中新建一个project,然后new->web services->web service cl ...
- 客服端与服务器之间传输信息,QT实现客服端和服务器之间消息和文件交互
QT实现客服端和服务器之间消息和文件交互 文章目录 QT实现客服端和服务器之间消息和文件交互 平台环境 数据库选择与安装 交叉编译工具链GCC的安装 数据库创建数据 Qt的开发环境搭建 Web实现 T ...
- H5/APP客服端源码/uniapp在线客服系统源码开源了,全源码代码解读及发行安装教程...
前言 目前,即时通讯在线咨询在网站.APP.小程序中已经是不可获取的功能,尤其是专注于线上营销的商家,迫切需要一套可以随时与访客交流的即时通讯工具. 如果使用市面上的SaaS客服系统,会在功能上受限制 ...
最新文章
- OpenGL编程轻松入门(四)
- c++dll生成和调用
- X3D.Studio编辑器界面介绍
- 浅谈 Spring 框架注解的用法分析
- Ubuntu环境搭建
- 论文学习21-Globally Normalized Transition-Based Neural Networks(2016,标签偏差问题
- 我以为我对Mysql索引很了解,直到我遇到了阿里的面试官
- Java并发编程笔记—基础知识—实用案例
- grub 与grub2
- (金税盘版)开票软件,登录提示密钥容器不存在,怎么处理?
- OpenCV 银行卡卡号识别
- Manjaro安装与软件硬件基本配置(保姆级)
- python输出两个元素空格隔开_python实现将一串字符每两个一组,中间用空格隔开...
- AFL++: Combining Incremental Steps of Fuzzing Research
- 数据库根据经纬度查询离我最近的数据
- 新冠疫情对AI技术发展的影响
- HDU 1814(染色)
- 老电脑深度linux,国产操作系统DEEPIN超越微软WINDOWS成为老电脑福音,进步神速
- 设计模式之委派模式(不属于23种经典设计模式之一)
- 学术篇 | 多模态fNIRS脑电分类——基于脑机接口的深度学习算法