У меня какая-то проблема, и я не могу проверить это дома, если она работает или нет.
Вот код
using System;
using System.Net;
using System.Net.Sockets;
using System.Threading;
using System.IO;
using System.Net.Security;
class Program
{
private static IPAddress ipAddress = IPAddress.Parse("127.0.0.1");
private static int port = 6000;
private static string data = null;
static void Main(string[] args)
{
Thread thread = new Thread(new ThreadStart(receiveThread));
thread.Start();
Console.ReadKey();
}
public static void receiveThread()
{
while (true)
{
TcpListener tcpListener = new TcpListener(ipAddress, port);
tcpListener.Start();
Console.WriteLine("Waiting for connection...");
TcpClient tcpClient = tcpListener.AcceptTcpClient();
Console.WriteLine("Connected with {0}", tcpClient.Client.RemoteEndPoint);
while (!(tcpClient.Client.Poll(20, SelectMode.SelectRead)))
{
NetworkStream networkStream = tcpClient.GetStream();
StreamReader streamReader = new StreamReader(networkStream);
data = streamReader.ReadLine();
if(data != null)
Console.WriteLine("Received message: {0}", data);
}
Console.WriteLine("Dissconnected...\n");
tcpListener.Stop();
}
}
}
У меня есть простая программа, чтобы подключиться к ней и затем отправить строку с данными. Он работает нормально на локальном хосте, но есть проблема, когда я пытаюсь подключиться к другому компьютеру.
Я даже выключил брандмауэр на моем ПК и роутере, как я делал на ноутбуке моего друга. Каждый раз, когда я пытался подключиться, его компьютер отказывался от подключения. Может я что-то не так делаю?
Конечно, ipAddress
теперь является локальным адресом, поскольку в данный момент он работает только с этим. Любые предложения, что делать?