java - Android上的TCP套接字连接被拒绝
问题描述
在一个简单的客户端-服务器 TCP 套接字中,当我尝试在 Android Studio 中创建客户端套接字时遇到问题。导致错误的指令是Socket s=new Socket(hostname,port);
我使用的端口是 1993,我尝试了一些hostname
变量值:
hostname="127.0.0.1"
hostname="localhost"
hostname=""
hostname=InetAddress.getByName([with-the previous 2 values])
在每一种情况下,应用程序都会因为这个错误而停止,下面的错误属于第一个点,其他的会出现类似的错误。
W/System.err:无法获得连接到 127.0.0.1 的 I/O W/System.err:java.net.ConnectException:无法连接到 /127.0.0.1(端口 1993):连接失败:ECONNREFUSED(连接被拒绝) 在 libcore.io.IoBridge.connect(IoBridge.java:124) 在 java.net.PlainSocketImpl.connect(PlainSocketImpl.java:183) 在 java.net.PlainSocketImpl.connect(PlainSocketImpl.java:163) 在 java.net.Socket.startupSocket(Socket.java:592) 在 java.net.Socket.tryAllAddresses(Socket.java:128) 在 java.net.Socket.(Socket.java:178) 在 java.net.Socket.(Socket.java:150) W/System.err:在 com.example.davide.beachapp.model.ClientSocket$MyThread.run(ClientSocket.java:92) 引起:android.system.ErrnoException:连接失败:ECONNREFUSED(连接被拒绝) 在 libcore.io.Posix.connect(本机方法) 在 libcore.io.BlockGuardOs.connect(BlockGuardOs.java:111) 在 libcore.io.IoBridge.connectErrno(IoBridge.java:137) 在 libcore.io.IoBridge.connect(IoBridge.java:122) ... 7 更多
Eclipse 中的相同指令有效,我在命令行上使用服务器“nc -l 1993”对其进行了测试,一切都在 Eclipse 上运行。
也许这是清单的一些配置问题?
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.davide.beachapp">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:theme="@style/AppTheme.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" >
</intent-filter>
</activity>
</application>
</manifest>
解决方案
推荐阅读
- android - 在android中使用wrap_content动画视图
- webrtc - TURN 身份验证如何安全?
- python - 遍历文件
- postgresql - PostgreSQL:当月余额(当前累积行加上上一个累积行)
- grafana - 如何在新的/不同的计算机上恢复 Grafana 仪表板
- python - Python获取变量名而不是值
- python-3.x - GCP 功能拒绝部署 - 获取存储源时出错:generic::unknown:重试预算已用尽(3 次尝试)
- html - @font-face 背后的规则是什么?
- ruby - Ruby:按月、年、类别和总和值分组
- firebase-hosting - 将 Google Cloud Run 与 Firebase 托管配对后如何正确部署更改