PC에서 안드로이드 장치로 연결하려고하면 "대상 컴퓨터가 적극적으로 거부했기 때문에 연결할 수 없습니다"라는 소켓 예외가 발생했습니다. 안드로이드 장치에서 서버의 코드 :PC와 안드로이드 장치 연결 문제 - SocketException
private void networkOperations()
{
Thread networkThread = new Thread (null, doBackgroundThreadProcessing, "Network");
networkThread.start();
}
private Runnable doBackgroundThreadProcessing = new Runnable()
{
public void run() {
backgroundThreadProcessing();
}
};
private void backgroundThreadProcessing()
{
Socket s = null;
ServerSocket ss = null;
try {
ss = new ServerSocket(8867);
} catch (IOException e) {
e.printStackTrace();
}
while(!Thread.currentThread().isInterrupted())
{
try {
if (s == null)
s = ss.accept();
BufferedReader input = new BufferedReader(new InputStreamReader(s.getInputStream()));
String st = null;
st = input.readLine();
} catch (IOException e) {
e.printStackTrace();
}
}
}
networkOperations()는 주요 활동의에서 onCreate() 메소드를 호출한다. PC에서 클라이언트의 코드 (C#을) :
이class Connection
{
public Connection(String ip, String port)
{
Ip = IPAddress.Parse(ip);
Port = Convert.ToInt32(port);
}
public IPAddress Ip
{
get;
set;
}
public Int32 Port
{
get;
set;
}
public Boolean ConnectionError;
public Socket S;
public void ConnectToServer()
{
IPEndPoint ipe = new IPEndPoint(Ip, Port);
S = new Socket(ipe.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
try
{
S.Connect(ipe);
}
catch (SocketException e)
{
}
}
사람이이 문제 제발 도와 드릴까요? 감사.
어떤 IP 주소로 전화를 사용하고 있습니까? 에뮬레이터 또는 실제 장치를 사용하고 있습니까? Wi-Fi 또는 이동 통신망을 통해 연결되어 있습니까? –
장치의 외부 IP를 사용하여 PC에서 연결하고 있습니다. 실제 장치를 사용하고 있는데 wifi 네트워크를 통해 연결되어 있습니다. – floyd
PC와 동일한 네트워크에 있습니까? 외부 IP 주소로 네트워크에있는 장치의 로컬 IP 주소 또는 공용 IP 주소를 의미합니까? (즉, 제공 업체가 귀하에게 준 경우) –