2011-11-09 13 views
0

Java TCPサーバーに接続する必要があるAndroidアプリケーションに問題があります。私はConnectionがエラーを拒否するようになっています。アンドロイド上のクライアントからAndroidアプリケーションとJavaサーバーの問題。接続が拒否されました

server.java

public class Server 
{ 
public static void main(String argv[]) throws Exception 
{ 
ServerSocket welcomeSocket = new ServerSocket(6789); 
System.out.println("welcome into server"); 
while(true) 
{ 

Socket connectionSocket = welcomeSocket.accept(); 
if (connectionSocket != null) 
{ 
System.out.println(connectionSocket); 
Client client = new Client(connectionSocket); 
client.start(); 
} 
} 
} 
} 

class Client extends Thread 

private Socket connectionSocket; 
private String clientSentence; 
private String ans; 
private String temak="test"; 
private String capitalizedSentence; 
private BufferedReader inFromClient; 
private DataOutputStream outToClient; 

public Client(Socket c) throws IOException 
{ 
connectionSocket = c; 
} 

public void run() 
{ 
try 
{ 
inFromClient = new BufferedReader(new nputStreamReader(connectionSocket.getInputStream())); 
outToClient = new DataOutputStream(connectionSocket.getOutputStream()); 
clientSentence = inFromClient.readLine(); 
System.out.println(clientSentence); 
capitalizedSentence = clientSentence.toUpperCase() + '\n'; 
BufferedReader inFromUser = new BufferedReader(new InputStreamReader(System.in)); 
ans = inFromUser.readLine(); 
outToClient.writeBytes(capitalizedSentence); 
if("hej".equals(clientSentence)){ 
outToClient.writeBytes(ans + " tester hej"+ "\n"); 
} 
else{ 
outToClient.writeBytes(ans+"\n"); 
} 
} 
catch(IOException e) 
{ 
System.out.println("Errore: " + e); 
} 
} 
} 

スニペット:

String sentence = null; 
String modifiedSentence; 
String tempus; 
try { 

Socket clientSocket = new Socket("localhost", 6789); 
DataOutputStream outToServer = new DataOutputStream(clientSocket.getOutputStream()); 
BufferedReader inFromServer = new BufferedReader(new InputStreamReader(clientSocket.getInputStream())); 
Log.d("pre","TCP Connected."); 

outToServer.writeBytes(sentence + 'n'); 
modifiedSentence = inFromServer.readLine(); 
Log.d("sentence ", modifiedSentence); 
Log.d("post","TCP Success !!!"); 

clientSocket.close(); 

} catch (Exception e) { 
Log.d("error","TCP Error: " + e.toString()); 
} 

プログラムは、ポート6789

+0

インデントを正しく行うようにコードサンプルを編集してください。今は読むのが難しいです。 – Gray

+0

localhostはアンドロイドデバイスではありませんPC/Mac/Whatever – Selvin

+0

どのようにデバイスの外に出るのですか?私のIPを置く? – iie

答えて

1

例えば、 (編集:) this セルビンが書いたものは、IPアドレス10.0.2.2を使用して、エミュレータを実行しているPCに接続する必要があります。 (localhostおよび127.0.0.1はエミュレータ内からエミュレータにループバックします)

関連する問題