我正在用C#为我和我的朋友编写一个聊天程序,但我不知道如何将计算机连接到其他网络中的计算机。该代码在我的家庭网络中两台计算机之间正常运行,但是在两个不同的网络之间却不起作用。我知道为什么它不起作用,我的意思是说得通,我认为我可以将路由器与标准网关或其他某种方式连接起来,但是我在互联网上找不到任何可以帮助我的东西。
对于聊天应用程序,也许C#是错误的语言,但我确信它可能会以某种方式出现。如果有人可以告诉我这在C#中是如何工作的,或者哪种语言更合适?
private void Form1_Load(object sender, EventArgs e)
{
//set up socket
socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true);
//get user IP
textLocalIp.Text = GetLocalIP();
//textRemoteIp.Text = GetLocalIP();
}
private void buttonConnect_Click(object sender, EventArgs e)
{
//binding Socket
epLocal = new IPEndPoint(IPAddress.Parse(textLocalIp.Text), Convert.ToInt32(textLocalPort.Text));
socket.Bind(epLocal);
//connecting to remote IP
epRemote = new IPEndPoint(IPAddress.Parse(textRemoteIp.Text), Convert.ToInt32(textRemotePort.Text));
socket.Connect(epRemote);
//listeninf the specific port
buffer = new byte[1500];
socket.BeginReceiveFrom(buffer, 0, buffer.Length, SocketFlags.None, ref epRemote, new AsyncCallback(MessageCallBack), buffer);
}
答案 0 :(得分:0)
好的,我不建议您使用C#聊天,因为它太旧了。 但是您需要:
Imports System.Net.Sockets
Imports System.Threading
您将找到一个教程:here 另外,如果您需要其他教程,可以轻松找到for example a mobile chat app