c#套接字连接

时间:2014-03-18 15:48:12

标签: c# sockets

try 
{
    _clientSocket.Connect(new IPEndPoint(IPAddress.Parse("169.254.18.196"), 49897));
    Debug.Log("Connected to the server.");
} 
catch 
{
    attemps++;
    Debug.Log("Connection attempt... " + attemps);
}

我有一个在debian中运行的服务器,在c#中用Monodevelop编程。 代码来自客户端。它是连接部分。

这是我创建套接字的方式:

private readonly Socket _clientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

发送消息:

try {
    SendString("<username>" + userName + "</username>" + "<password>" + password + "</password>");
} catch {
    Debug.Log("Error while sending the message");
}

private void SendString(string text) {
    byte[] buffer = Encoding.Unicode.GetBytes(text);
    _clientSocket.Send(buffer, 0, buffer.Length, SocketFlags.None);
    Debug.Log("Message sent: " + text);
}

我收到消息:

Connected to the server.

即使服务器没有运行,我的意思是只有debian正在运行但服务器文件。

为什么我在日志中收到此消息?我该如何解决?

1 个答案:

答案 0 :(得分:0)

好吧,如果您想知道套接字是否真的已连接,请使用Socket.Connected属性,并将其记录下来,如下所示;

if (_clientSocket.Connected)
{
    Debug.Log("Connected to the server.");
}