Network I/O
Just as with input, network output can use
Socket, Stream, or
WebRequest objects. The basic unit of network
communication is the Socket. For higher-level
network output, you can use the WebRequest class.
Whether communicating over a Socket or a
WebRequest, however, you’ll be
using a Stream to actually read and write data.
Writing data with Sockets
To communicate over a network using a
Socket, there must be a server of some sort
listening for requests at the other end. The construction of network
application servers is beyond the scope of this book, but Example 3-1 shows you how to create a simple network
client program.
using System;
using System.IO;
using System.Net.Sockets;
public class NetWriter {
public static void Main(string [ ] args) {
string address = "example.com";
int port = 9999;
TcpClient client = new TcpClient(address,port);
NetworkStream stream = client.GetStream( );
StreamWriter writer = new StreamWriter(stream);
writer.WriteLine("hello\r\n");
writer.Flush( );
using (StreamReader reader = new StreamReader(stream)) {
while (reader.Peek( ) != -1) {
Console.WriteLine(reader.ReadLine( ));
}
}
}
}The Main( ) method can be broken down into its
major steps. The first step is to initialize some variables:
string address = "example.com"; int port = 9999;
TcpClient is a convenient specialization of a
TCP/IP client Socket. The GetStream(
) method makes the connection and returns a
Stream to communicate with the remote ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access