📄 ex-21-13
字号:
//Example 21-13: Implementing a client for an asynchronous network file server
using System;
using System.Net.Sockets;
using System.Threading;
using System.Text;
using System.Runtime.Serialization.Formatters.Binary;
public class AsynchNetworkClient
{
static public int Main()
{
AsynchNetworkClient client =
new AsynchNetworkClient();
return client.Run();
}
AsynchNetworkClient()
{
string serverName = "localhost";
Console.WriteLine("Connecting to {0}", serverName);
TcpClient tcpSocket = new TcpClient(serverName, 65000);
streamToServer = tcpSocket.GetStream();
}
private int Run()
{
string message = @"C:\test\source\AskTim.txt";
Console.Write(
"Sending {0} to server.", message);
// create a streamWriter and use it to
// write a string to the server
System.IO.StreamWriter writer =
new System.IO.StreamWriter(streamToServer);
writer.Write(message);
writer.Flush();
bool fQuit = false;
// while there is data coming
// from the server, keep reading
while (!fQuit)
{
// buffer to hold the response
char[] buffer = new char[BufferSize];
// Read response
System.IO.StreamReader reader =
new System.IO.StreamReader(streamToServer);
// see how many bytes are
// retrieved to the buffer
int bytesRead =
reader.Read(buffer,0,BufferSize);
if (bytesRead == 0) // none? quite
fQuit = true;
else // got some?
{
// display it as a string
string theString = new String(buffer);
Console.WriteLine(theString);
}
}
streamToServer.Close(); // tidy up
return 0;
}
private const int BufferSize = 256;
private NetworkStream streamToServer;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -