为了账号安全,请及时绑定邮箱和手机立即绑定

尝试将文件客户端传输到同一台PC上的服务器时遇到异常

尝试将文件客户端传输到同一台PC上的服务器时遇到异常

C#
慕斯709654 2021-04-06 13:14:40
好的,所以我写了一些非常简单的客户端-服务器程序(在C#中使用.net)。当我尝试将字符串从客户端传输到服务器时,它工作正常,但是当我尝试将文件从客户端传输到服务器时,我得到了例外:System.IO.IOException:无法从传输连接中读取数据:现有连接被远程主机强行关闭。SocketException:现有连接被远程主机强行关闭该文件是txt文件(1KB)。如您所见,客户端和服务器都在同一台计算机上:客户:using System;using System.Net.Sockets;using System.IO;namespace client2{    class Program    {    static void Main(string[] args)    {        try        {            // Create a TcpClient.            Int32 port = 13000;            TcpClient client = new TcpClient("127.0.0.1", port);            FileStream file = new FileStream("./amir.txt", FileMode.Open, FileAccess.Read);            byte[] data = System.IO.File.ReadAllBytes("./amir.txt");            //this one with a string works                    //Byte[] data = System.Text.Encoding.ASCII.GetBytes("bla bla");            // Get a client stream for reading and writing.            Stream stream = client.GetStream();            stream.Write(data, 0, data.Length);        }        catch (IOException e)        {        }        catch (ArgumentNullException e)        {            Console.WriteLine("ArgumentNullException: {0}", e);        }        catch (SocketException e)        {            Console.WriteLine("SocketException: {0}", e);        }    }}}
查看完整描述

1 回答

?
侃侃尔雅

TA贡献1801条经验 获得超15个赞

我对您来说是个好消息,您的程序似乎运行得很好。
我复制并执行,得到了“ success.txt”。

这意味着您身边唯一的问题必须是经过IDE授权可以写入文件的问题或锁定文件的问题。我建议您重新启动计算机-使用管理员权限(在Visual Studio中为“以管理员身份运行”)打开IDE,然后查看是否仍有问题。

从代码的角度来看-所有工作。


查看完整回答
反对 回复 2021-04-24
  • 1 回答
  • 0 关注
  • 122 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信