如何从远程计算机获取文件?我知道远程计算机IP和51124端口是打开的。我需要这个算法:(
1)通过51124端口连接192.xxx.x.xxx ip
2)文件名:123456(我想在远程机器上搜索)
3)获取文件
4)保存C:\ _
51124端口已打开。我可以访问,我可以根据文件名搜索任何文件? 我的代码如下:
IPEndPoint ipEnd = new IPEndPoint(IPAddress.Any, 51124);
Socket sock = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.IP);
sock.Bind(ipEnd);
sock.Listen(maxConnections);
Socket serverSocket = sock.Accept();
byte[] data = new byte[bufferSize];
int received = serverSocket.Receive(data);
int filenameLength = BitConverter.ToInt32(data, 0);
string filename = Encoding.ASCII.GetString(data, 4, filenameLength);
BinaryWriter bWrite = new BinaryWriter(File.Open(outPath + filename, FileMode.Create));
bWrite.Write(data, filenameLength + 4, received - filenameLength - 4);
int received2 = serverSocket.Receive(data);
while (received2 > 0) {
bWrite.Write(data, 0, received2);
received2 = serverSocket.Receive(data);
}
bWrite.Close();
serverSocket.Close();
sock.Close();
< / p>
MyQuery(targetip, port, filename)
{
.....
...
..
.
}
答案 0 :(得分:4)
你现在已经尝试过几次问这个问题了 - 也许这就解释了为什么我们无法回答你的问题:
如果您有FTP服务器,它(默认情况下)将侦听端口21.因此,如果我根据FTP协议向端口21发送消息,它将响应。
如果我有apache或IIS(或其他一些网络服务器)监听端口80,并且我向它发送一条FTP消息,它会给我一个错误,因为他们期待HTTP请求。
在不知道应用程序正在侦听端口51124的情况下,我们无法告诉您如何与它进行对话。