【问题标题】:Why does server/client socket stop working为什么服务器/客户端套接字停止工作
【发布时间】:2016-05-21 19:16:41
【问题描述】:

我正在做一个客户端服务器应用程序,我在客户端和服务器端使用打开的套接字来建立连接。

客户端(Android 手机):

 try {
        InetAddress serverAddr = InetAddress.getByName(serverIp);
        socket = new Socket(serverAddr, PORT);
    }

服务器:

        sS = new ServerSocket(PORT);
        sO = new Socket();
        sO = sS.accept(); 

两者具有相同的 PORT 值,我确信服务器 IP 地址是正确的。它在上个月有效,但当我昨天尝试时,它不再有效。

如果我再次克隆它但仍然没有工作(从它工作的安全提交)。

我有上网权限:

    <uses-permission android:name="android.permission.INTERNET" />

不知道是不是跟gradle有关:

android {
compileSdkVersion 21
buildToolsVersion '23.0.2'

defaultConfig {
    applicationId "com.example.fran.dibcel"
    minSdkVersion 15
    targetSdkVersion 21
    versionCode 1
    versionName "1.0"
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:appcompat-v7:22.0.0'
compile 'com.googlecode.json-simple:json-simple:1.1.1'}

【问题讨论】:

  • 在创建套接字时遇到异常了吗?
  • 您遇到的错误是什么?
  • sO = new Socket();。请删除该行。它没有任何作用。并且令人困惑。
  • 我没有得到任何异常我不知道这可能是什么问题
  • “不再有效”不是问题描述。 new Socket() 行不仅令人困惑,而且是资源泄漏,因为 Socket 永远不会关闭。不要编写无意义的代码。

标签: android sockets gradle server client


【解决方案1】:

最后是windows的防火墙。我将其关闭,然后我打开套接字连接没有任何问题

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-24
    • 2015-04-16
    • 1970-01-01
    相关资源
    最近更新 更多