android在wifi下手机与电脑的socket通信_第1页
android在wifi下手机与电脑的socket通信_第2页
android在wifi下手机与电脑的socket通信_第3页
android在wifi下手机与电脑的socket通信_第4页
android在wifi下手机与电脑的socket通信_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

在 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_address50 = 0; char recv_message_client256 = 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_clien

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论