我正在尝试从运行Windows 10物联网核心的树莓派共享一些文件。我使用的是Microsoft解释的StreamSocketListener:https://docs.microsoft.com/en-us/windows/uwp/networking/sockets
我的代码如下:
private async void Testserver()
{
try
{
streamSocketListener = new StreamSocketListener();
await streamSocketListener.BindServiceNameAsync("9000");
streamSocketListener.ConnectionReceived += StreamSocketListener_ConnectionReceived;
}
catch
{
textb.Text = "server not started";
}
}
private async void StreamSocketListener_ConnectionReceived(StreamSocketListener sender, StreamSocketListenerConnectionReceivedEventArgs args)
{
string response = "HELLO WORLD!";
using (Stream outputStream = args.Socket.OutputStream.AsStreamForWrite())
{
using (var streamWriter = new StreamWriter(outputStream))
{
await streamWriter.WriteLineAsync(response);
await streamWriter.FlushAsync();
}
}
}
现在,当我尝试打到192.168.1.18:9000时,它至少应该触发ConnectionReceived事件,它不是,因为我在那里添加了断点。
除了StreamSocketListner之外,还有没有更简单的方法可以在本地网络中发送文本文件?
答案 0 :(得分:0)
出于安全原因,默认情况下无法访问端口9000。您需要使用以下命令在防火墙中为此端口添加规则。
netsh advfirewall firewall add rule name="File Access" dir=in protocol=TCP localport=9000 remoteip=any action=Allow