效率低下的配置调试了很久..还是有些问题没有解决..
首先说一点题外话:对于android工程中的R文件的损害或丢失,只需要直接点击android工程,选择android tools 选项,点击Fix Project Properties就会自动生成gen 文件夹下的R文件——另外保证你资源文件的正确性,比如:setContentView(R.layout.main)——此时会自动更新layout中指定的xml文件,R中会自动生成其中声明的组件对象。
首先要记得在配置文件中加入:
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
在android下进行socket编程,代码与普通java并无二异。只不过此时服务器仍是pc机(拥有相对固定的ip),而使用移动的手机端做客户端(移动设备的ip是动态分配的,不固定,因此不能用手机做服务器)。基本过程是通过socket连接,获取各自的输入输出流,并进行相应读写,不详说。
关于客户端请求的ip设置,当然此时不可再用localhost或者127.0.0.1(因为手机本身也有)
因此我第一步的ip必须是为对外可见的ip,如socket = new Socket("192.168.1.102",54321)——本机在本局域网中的ip。
由于这个ip是局域网内的ip,要使得其对外可见,必须进行第二步:进入本机的TPLINK设置http://192.168.1.1/,在转发规则中的DMZ主机设置暴露你的ip给外界启用————注意手机模拟器是与主机在同一个局域网中,所以可以根据局域网内的ip进行识别和访问!!!
后来测试,第二步省略了也可,如此一来又多了一堆我解释不了的东西....麻烦!
基础不牢..
望有谁对此有见解的计算机网络高手给个解释才好..为什么直接使用外网可见的ip如183.3.181.xxx有时行有时不行呢。
测试过程中还是有其他一些问题。比如中午乱码。依然没解决。
实在解决不了问题就尝试一下:
要么重新建一个工程搬过去试试看
要么注意在创建项目时指定min sdk version,并且使用对应的android api进行运行测试!
最后再补充点题外话,可以通过cmd下ipconfig /all获取本机ip和DNS信息,方便手工配置ip和DNS而不使用DHCP自动获取ip。
分享到:
相关推荐
**Android端Socket框架EasySocket详解** 在Android应用开发中,Socket通信是实现设备间数据传输的重要方式,尤其在需要实时性、低延迟的场景中,如游戏、聊天应用等。EasySocket是一个专为Android设计的轻量级...
在Android开发中,Socket长连接是一种常见的通信方式,特别是在实时性要求高的应用中,如即时通讯、在线游戏等。为了保持连接的稳定性和检测网络状况,通常会采用心跳检测机制。下面将详细介绍Android中实现Socket长...
在Android平台上,Socket通信是一种常见的网络编程方式,用于设备间的双向数据传输。Socket提供了一种可靠的、基于连接的传输层通信机制,适用于文件的上传和下载。本篇将详细讲解如何在Android应用中使用Socket进行...
为了深入理解Android中的UDP Socket编程,你可以分析这些代码,查看它们如何初始化Socket,设置数据包,以及如何处理网络事件。同时,阅读相关博客(如提供的链接)可以帮助你了解实际开发过程中的注意事项和最佳...
1. **权限设置**:在AndroidManifest.xml中,需要添加INTERNET权限,以允许应用进行网络操作:`<uses-permission android:name="android.permission.INTERNET" />` 2. **线程处理**:由于Android主线程不允许执行...
在Android中,我们通常使用`java.net.Socket`类来创建Socket对象,通过指定打印机的IP地址和端口号建立连接。 2. **IP地址与端口号**: - IP地址是网络设备的唯一标识,用于区分网络上的不同设备。在本案例中,...
**Android-Lemon:轻量级Android Socket框架详解** 在Android应用开发中,网络通信是必不可少的一部分,而Socket通信则是实现客户端与服务器间低层次、高效能数据交换的重要手段。`Android-Lemon`是一个专为Android...
在本场景中,"android基于socket两个手机之间进行通信"意味着我们需要在两台Android设备上建立TCP连接,共享局域网内的IP地址来实现数据交互。 首先,理解Socket的基本概念至关重要。Socket分为服务器端...
- 建立Socket连接前,首先需要创建一个Socket实例,指定服务器的IP地址和端口号。 - 使用Socket的`connect()`方法建立连接。 - 通过Socket的`getInputStream()`和`getOutputStream()`获取输入流和输出流,进行...
**Android-MinaSocket:基于Mina的高效Socket长连接库** 在移动应用开发中,尤其是Android平台,实时性与稳定性是许多应用场景的核心需求,比如在线游戏、即时通讯、物联网设备等。在这种背景下,使用Socket进行长...
在Android应用开发中,Socket通信是一种常见的网络编程技术,它允许设备之间进行双向通信。本教程将深入探讨如何在Android应用程序中实现Socket客户端,以便与Socket服务器进行数据交换。我们将使用Android Studio...
本文将深入探讨如何使用Android Socket实现文件的传输,并特别关注如何自动配置Server端(S端)的IP地址。 首先,理解Socket的基本概念是必要的。Socket是网络编程中的一个接口,它提供了进程间的通信能力,使得...
在Android平台上,Socket通信是应用程序之间进行数据交换的重要方式,特别是在需要实时通信或者低延迟的场景下,如游戏、聊天应用等。`io.socket`库是Android开发者常用来实现WebSocket和TCP/IP Socket通信的一个...
1. **创建Socket连接**:在Android客户端,首先需要创建一个Socket对象,指定服务器的IP地址和端口号。例如: ```java Socket socket = new Socket("服务器IP", 服务器端口号); ``` 2. **数据发送**:使用Socket的...
在Android开发中,Socket通信是实现设备间数据传输的重要手段,尤其在构建网络服务和进行设备间的实时交互时。本文将深入探讨如何在Android平台上创建一个Socket客户端,以及如何通过TCP协议进行数据的发送和接收。 ...
2. **创建客户端Socket**:在客户端,我们需要使用Socket类的构造函数,指定服务器的IP地址和端口号,发起连接请求。连接成功后,也会得到一个Socket对象。 3. **数据传输**:在Socket对象上,我们可以获取输入流...
2. 创建一个监听Socket实例,设置其IP地址和端口号(通常使用IPv4的"0.0.0.0"表示任意可用IP,端口可以自定义)。 3. 使用Bind方法将服务器Socket绑定到指定的IP和端口。 4. 调用Listen方法启动监听,等待客户端连接...
- **服务器端**:在Unity3D中启动`TcpListener`,设置监听的IP地址和端口号,等待来自Android设备的连接请求。 - **客户端**:在Android Studio中,使用`Socket`连接到Unity3D的IP和端口,建立连接后,通过`...
1. Android设备可能在不同的网络环境下,确保设备能正确访问服务器。 2. 对于大型应用,建议使用AsyncTask或Thread来处理Socket通信,避免阻塞UI线程。 3. 遵循Android的生命周期管理,尤其是在Activity销毁时,及时...
本篇将详细介绍一个完整的Android Socket操作封装,包括TCP/IP和UDP的实现,以及断开连接后的自动重连功能。 一、TCP/IP Socket 1. 建立连接:在Android中,使用`Socket`类来创建TCP连接。首先,需要指定服务器的...