-1
컴퓨터 응용 프로그램과 함께 Android 응용 프로그램을 연결하고 싶습니다. 네트워크에서 실행할 수는 있지만 인터넷을 통해 항상 컴퓨터가 연결을 거부하고 있다고 말합니다. 나는 창 및 안티 바이러스 방화벽을 해제하지만 여전히 문제는 서버와 안드로이드 클라이언트 연결이있다 :TCP/IP를 통한 'Connection refused'연결
이서버 측 :
TcpListener tcpListener;
Socket socket;
NetworkStream networkStream;
Thread thread;
string getIpAddress()
{
System.Net.IPHostEntry host;
string localIp = "";
host = System.Net.Dns.GetHostEntry(System.Net.Dns.GetHostName());
foreach (System.Net.IPAddress ip in host.AddressList)
{
localIp = ip.ToString();
}
return localIp;
}
public void ReceiveImage()
{
try
{
IPAddress localAddr = IPAddress.Parse("95.171.54.53");
tcpListener = new TcpListener(localAddr, 53100);
tcpListener.Start();
socket = tcpListener.AcceptSocket();
networkStream = new NetworkStream(socket);
pictureBox1.Image = Image.FromStream(networkStream);
if (socket.Connected == true)
{
while (true)
{
tcpListener.Stop();
ReceiveImage();
}
}
}
catch(Exception ex)
{
string Message = ex.Message;
}
}
private void Form1_Load(object sender, EventArgs e)
{
thread = new Thread(new ThreadStart(ReceiveImage));
thread.Start();
}
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
tcpListener.Stop();
thread.Abort();
}
이것은 여기
No connection could be made because the target machine actively refused it.
코드입니다 클라이언트 측 :
// Update is called once per frame
int frameSaveCount = -1;
int FrameCount = -1;
Socket socket;
NetworkStream networkStream;
Thread thread;
MemoryStream memoryStream;
TcpClient tcpClient;
BinaryWriter binaryWriter;
void Update()
{
// ...
if(FrameCount % 10==0)
{
// ...
send(bytes);
}
}
void send(Byte[] bytes)
{
try
{
print(getIpAddress());
tcpClient = new TcpClient("95.171.54.53", 53100);
networkStream = tcpClient.GetStream();
binaryWriter = new BinaryWriter(networkStream);
binaryWriter.Write(bytes);
binaryWriter.Close();
networkStream.Close();
tcpClient.Close();
}
catch (Exception exception)
{
string message = exception.Message;
print(message);
}
}
연결을 거부 할 수있는 방화벽이 서버에 있습니까? 클라이언트에서 텔넷을 사용하여 연결할 수 있습니까? 아니면 다른 임의의 기계? 먼저 서버에 연결할 수 있는지 확인한 다음 클라이언트 - 서버 연결을 디버깅합니다. –
서버가 실제로 호스트 서버로 설정된 네트워크에서 호스팅되고 있습니까? –
서버 측 예외 처리는 아주 초보적입니다. – EJP