2011-11-09 3 views
0

Java TCP 서버에 연결해야하는 내 안드로이드 응용 프로그램에 문제가 있습니다. Connection이 오류를 거절했습니다. 안드로이드에 대한 클라이언트의Android 애플리케이션 및 Java 서버 문제. Connection refused

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

어떻게 장치 외부에 도착합니까? 내 입을 열어? – iie

답변

1

예 : (편집 :) this 셀빈이 쓴 것, 에뮬레이터를 실행하는 PC에 연결하려면 10.0.2.2 IP 주소를 사용해야합니다. (localhost127.0.0.1은 에뮬레이터 내에서 에뮬레이터로 되돌아갑니다.)

관련 문제