【问题标题】:A socket operation was attempted to an unreachable host windows CE尝试对无法访问的主机 windows CE 进行套接字操作
【发布时间】:2013-04-22 13:02:06
【问题描述】:

我正在通过无线将文件从智能设备 windows CE 发送到 PC,文件通过 TCP 发送,当我通过笔记本电脑的主动同步部署应用程序来测试它时,它可以正常工作。但是当应用程序安装在设备内时,它没有发送文件,它向我显示异常:尝试对无法访问的主机进行套接字操作 代码如下

private void button1_Click(object sender, EventArgs e)
{
    string IPAddress = "10.1.1.102";
    string filPath = "\\student.XML";
    int PortNumber = 5656;

    SendTCP(filPath, IPAddress, PortNumber);            
}

public void SendTCP(string M, string IPA, Int32 PortN)
{
    byte[] SendingBuffer = null;
    TcpClient client = null;
    NetworkStream netstream = null;

    try
    {
        client = new TcpClient(IPA, PortN);
        MessageBox.Show("Connected to the Server...\n");

        netstream = client.GetStream();
        FileStream Fs = new FileStream(M, FileMode.Open, FileAccess.Read);
        int NoOfPackets = Convert.ToInt32(Math.Ceiling(Convert.ToDouble(Fs.Length) / Convert.ToDouble(BufferSize)));

      //  progressBar1.Maximum = NoOfPackets;

        int TotalLength = (int)Fs.Length, CurrentPacketLength, counter = 0;
        for (int i = 0; i < NoOfPackets; i++)
        {
            if (TotalLength > BufferSize)
            {
                CurrentPacketLength = BufferSize;
                TotalLength = TotalLength - CurrentPacketLength;
            }
            else
                CurrentPacketLength = TotalLength;

            SendingBuffer = new byte[CurrentPacketLength];
            Fs.Read(SendingBuffer, 0, CurrentPacketLength);
            netstream.Write(SendingBuffer, 0, (int)SendingBuffer.Length);
        }

        // label1.Text = label1.Text + "Sent " + Fs.Length.ToString() + " bytes to the server";
        MessageBox.Show("Sent " + Fs.Length.ToString() + " bytes to the server");

        Fs.Close();
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message);
    }
    finally
    {
        netstream.Close();
        client.Close();
    }
}

我不知道如何解决这个错误请帮助

【问题讨论】:

    标签: c# sendfile


    【解决方案1】:

    您确定设备已连接到网络并且目标 IP 正确吗?

    请注意,当通过 ActiveSync/Windows Mobile Center 连接时,会建立与设备的单独网络连接,并且设备会获得另一个(不同的)IP 地址,通过该地址与主机通信。

    【讨论】:

    • 这个错误是不言自明的:客户端找不到到目的地的网络路由。网络(连接)很可能在某处配置错误。您是否尝试过从计算机 ping 设备,反之亦然?
    • 是的,我确定设备已连接到网络,并且我确定 IP 地址正确,您建议我怎么做??
    • 你检查过主机上的防火墙吗?
    • 我已尝试从我的计算机 ping 设备,反之亦然,但它失败了怎么办??
    • 检查防火墙。重新检查设备上的 IP 地址配置。检查设备是否可以访问互联网(如果它在连接互联网的网络上)。
    猜你喜欢
    • 2011-07-07
    • 1970-01-01
    • 1970-01-01
    • 2018-10-03
    • 1970-01-01
    • 2013-01-15
    • 2021-05-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多