客户端将无法连接到服务器

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了客户端将无法连接到服务器相关的知识,希望对你有一定的参考价值。

我正在尝试编写一个聊天程序,当我进行连接时,出现错误消息“无法建立连接,因为目标计算机主动拒绝了它”。我试过将Server.exe托管在两台单独的计算机上,并且连接相同的客户端错误。我检查了正在监听的端口。具有讽刺意味的是,当服务器在本地运行时,客户端可以正常工作

客户

public Int32 port = 9818;
public TcpClient client = null;
public string serverIP = "10.0.0.72";
client = new TcpClient(serverIP, port);//Do not copy server's code for this portion

和服务器

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Net;
using System.Net.Sockets;
using mysql.Data.MySqlClient;

    namespace Server
    
        class Program
        
            static void Main(string[] args)
            
                Console.SetWindowSize(50, 10);
                IPAddress ip = IPAddress.Parse("127.0.0.1");
                Int32 port = 9818;
                TcpListener server = new TcpListener(ip,port);
                TcpClient client = default(TcpClient);

                try
                
                    server.Start();
                    Console.WriteLine(greeting);
                    Console.WriteLine("Server Started..");

                
                catch (Exception exp)
                
                    Console.WriteLine(exp.ToString());

                

                while (true)
                
                    client = server.AcceptTcpClient();

                    byte[] recieveBuffer = new byte[100];
                    byte[] sendBuffer = new byte[100];
                    NetworkStream stream = client.GetStream();

                    stream.Read(recieveBuffer,0,recieveBuffer.Length);

                    StringBuilder msg = new StringBuilder();
                    foreach (byte b in recieveBuffer)
                    
                        if (b.Equals(00))
                        
                            break;
                        
                        else
                            msg.Append(Convert.ToChar(b).ToString());
                    

                    int byteCount = Encoding.ASCII.GetByteCount(msg.ToString());
                    byte[] sendData = new byte[byteCount];

                    stream.Write(sendData, 0, sendData.Length);
                    Console.WriteLine(msg);

                //END while



            //END OF MAIN
        //END OF Program
    //END OF Server
答案

我已经完成了一个有关tcp / ip消息传递的项目。我在项目中使用了SimpleTcp库。如果您考虑一下,我可以抛出源代码。

Or you can try it here.

以上是关于客户端将无法连接到服务器的主要内容,如果未能解决你的问题,请参考以下文章

无法将 Android 客户端与本地 XMPP 服务器连接

计算机无法连接到远程计算机上的另一个控制台会话,您正在运行一个控制台会话

尝试使用LINQPad连接到Oracle,提供“无法获取Oracle客户端信息”

Socket.io 客户端在突然断开连接后无法重新连接到服务器

解决连接远程Windows服务器报错“由于安全设置错误,客户端无法连接到远程计算机”

计算机无法连接到远程计算机上的另一个控制台会话,您正在运行一个控制台会话,怎么办?