2016-05-21 13 views
-1

Ich mache eine Client-Server-App, bei der ich einen offenen Socket auf der Client- und Serverseite verwende, um eine Verbindung herzustellen.Warum funktioniert der Server/Client-Socket nicht?

Client (Android-Handy):

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

Server:

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

Die beiden den gleichen Port-Wert haben, und ich bin sicher, dass die Server-IP-Adresse korrekt ist. Es hat letzten Monat geklappt, aber als ich es gestern ausprobiert habe, funktioniert es nicht mehr.

Wenn ich es erneut klon und immer noch nicht funktioniert (von einem sicheren Commit, wo es funktioniert hat).

Ich habe Internet-Erlaubnis:

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

Ich weiß nicht, ob es etwas mit gradle zu tun hat:

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'} 
+0

erhalten Sie eine Ausnahme beim Erstellen der Steckdose? – Lino

+0

Was ist der Fehler, den Sie bekommen? – Acapulco

+1

'sO = neuer Socket();'. Bitte entferne diese Zeile. Es dient nichts. Und ist verwirrend. – greenapps

Antwort

0

Endlich ist es die Firewall von Windows ist. Ich habe es ausgeschaltet und dann öffne ich die Socket-Verbindung ohne Probleme