小弟新学C#,现在下了有关tcp编程的两个文件,可是怎么都无法通过编译,问问具体步骤?tcp编程,一个client,一个server。谢谢了,呵呵。// client.cs
using System;
using System.Net.Sockets;
using System.Windows.Forms;
using System.IO ;
using System.ComponentModel ;
using System.Drawing;
public class Echoclient: Form
{
  //Define the components...
  private Button b1;
  private TextBox t1,ta;
  TcpClient myclient;
  private NetworkStream networkStream ;
  private StreamReader streamReader ;
  private StreamWriter streamWriter ;

  //constructor initialising... 
  public Echoclient()
  {
    InitializeComponent();
  }
  //main method... 
  public static void Main()
  {
    Echoclient df=new Echoclient();
    df.FormBorderStyle=FormBorderStyle.Fixed3D;
    Application.Run(df);
  }
  public void InitializeComponent()
  {
    b1=new Button();
    b1.Location = new System.Drawing.Point(170,20);
    b1.Size = new System.Drawing.Size (80,40);
    b1.Text="Click Here";
    b1.Click += new System.EventHandler(b1_Click);
   b1.BackColor = System.Drawing.Color.Transparent ;
b1.ForeColor = System.Drawing.Color.Red ;
b1.BackgroundImage = Image.FromFile("back4.gif") ;
   b1.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
    b1.Font = new System.Drawing.Font("Microsoft Sans Serif", 8f, System.Drawing.FontStyle.Bold);      
   
    t1=new TextBox();
    t1.Location = new System.Drawing.Point(20,20);
    t1.Size = new System.Drawing.Size (100,100);
   
    ta=new TextBox();
ta.Multiline=true;
ta.ScrollBars = ScrollBars.Vertical;
    ta.AcceptsReturn = true;
    ta.AcceptsTab = true;
    ta.WordWrap = true;
  ta.Location = new System.Drawing.Point(20,80);
    this.SuspendLayout();
   this.Text = "Socket Programming" ;
this.MaximizeBox = false;
this.BackgroundImage = Image.FromFile("back3.gif") ;
    this.Name = "Form1";
    this.Controls.Add(this.b1);
    this.Controls.Add(this.t1);
    this.Controls.Add(this.ta); 
   this.Closing+= new CancelEventHandler(form1_closing) ;
   //connect to the "localhost" at the give port
//if you have some other server name then you can use that instead of "localhost"
try
     {
          myclient = new TcpClient("localhost", 1234);
       }
    catch
       {
          Console.WriteLine("Failed to connect to server at {0}:999", "localhost");
          return;
       }
 //get a Network stream from the server
       networkStream = myclient.GetStream();
 streamReader = new StreamReader(networkStream);
         streamWriter = new StreamWriter(networkStream);
  }
  //User can enter a text in the textbox and on click of the button the message will be sent to the server..
  //then the Client waits and receives the response from the server which is displayed in the textarea..
  private void b1_Click(object sender, EventArgs e)
  {
ta.Text="" ;
   if(t1.Text=="")
{
MessageBox.Show("Please enter something in the textbox");
t1.Focus();
return ;
}
    try
    {
          string s;
           streamWriter.WriteLine(t1.Text);
Console.WriteLine("Sending Message");
            streamWriter.Flush();
s= streamReader.ReadLine();
Console.WriteLine("Reading Message") ;
Console.WriteLine(s) ;
ta.Text=s;

            }
       catch(Exception ee)
           {
         Console.WriteLine("Exception reading from Server:"+ee .ToString());
         }   }
   public void form1_closing(object o , CancelEventArgs ec)
   {
      //close all streams...
streamReader.Close() ;
   streamWriter.Close() ;
      networkStream.Close();
   }
} //  server.cs
using System;
using System.Net.Sockets;
using System.IO ;public class Echoserver
{
//entry point of main method....
public static void Main()
{
//TcpListener is listening on the given port... {
TcpListener tcpListener = new TcpListener(1234);
     tcpListener.Start();      
Console.WriteLine("Server Started") ;
//Accepts a new connection...
Socket socketForClient = tcpListener.AcceptSocket();
       //StreamWriter and StreamReader Classes for reading and writing the data to and fro.
       //The server reads the meassage sent by the Client ,converts it to upper case and sends it back to the client.
       //Lastly close all the streams.
        try
        {
       if (socketForClient.Connected)
        {
            while(true)
            {
            Console.WriteLine("Client connected");
NetworkStream networkStream = new NetworkStream(socketForClient);
             StreamWriter streamWriter = new StreamWriter(networkStream);
  StreamReader streamReader = new StreamReader(networkStream);
            string line = streamReader.ReadLine();
        Console.WriteLine("Read:" +line);
line=line.ToUpper()+ "!";
streamWriter.WriteLine(line);
Console.WriteLine("Wrote:"+line);
       streamWriter.Flush() ;           
 } 
        }
        socketForClient.Close();        
                Console.WriteLine("Exiting...");
        }
        catch(Exception e)
        {
         Console.WriteLine(e.ToString()) ;
        }
}
}