只是一个简单的示例。


Server,服务器代码。

使用Socket套接字连接。


 1 简单的C# Socket编程_socketusing

 System;

 2 简单的C# Socket编程_socket

using  System.Net;

 3 简单的C# Socket编程_socket

using  System.Net.Sockets;

 4 简单的C# Socket编程_socket

using  System.IO ;

 5 简单的C# Socket编程_socket

 6 简单的C# Socket编程_socket

public   class  Echoserver

 7 简单的C# Socket编程_c#_07简单的C# Socket编程_c#_08

简单的C# Socket编程_socket_09

{

 8简单的C# Socket编程_socket_10    //entry point of main method简单的C# Socket编程_socket_09.

 9简单的C# Socket编程_socket_10    public static void Main()

10简单的C# Socket编程_c#_13简单的C# Socket编程_socket_14    简单的C# Socket编程_socket_09{

11简单的C# Socket编程_socket_10        //TcpListener is listening on the given port简单的C# Socket编程_socket_09

12简单的C# Socket编程_socket_10        Int32 port = 1234;

13简单的C# Socket编程_socket_10

14简单的C# Socket编程_socket_10        //IPAddress is connetct ip address

15简单的C# Socket编程_socket_10        //IPAddress addr = IPAddress.Parse("127.0.0.1");

16简单的C# Socket编程_socket_10        IPAddress ipAddress = Dns.Resolve("localhost").AddressList[0];

17简单的C# Socket编程_socket_10

18简单的C# Socket编程_socket_10        TcpListener tcpListener = new TcpListener(ipAddress,port);

19简单的C# Socket编程_socket_10        tcpListener.Start();      

20简单的C# Socket编程_socket_10        Console.WriteLine("Server Started") ;            

21简单的C# Socket编程_socket_10        //Accepts a new connection简单的C# Socket编程_socket_09

22简单的C# Socket编程_socket_10        Socket socketForClient = tcpListener.AcceptSocket();            

23简单的C# Socket编程_socket_10        //StreamWriter and StreamReader Classes for reading and writing the data to and from.

24简单的C# Socket编程_socket_10        //The server reads the meassage sent by the Client ,converts it to upper case and sends it back to the client.

25简单的C# Socket编程_socket_10        //Lastly close all the streams.

26简单的C# Socket编程_socket_10        try

27简单的C# Socket编程_c#_13简单的C# Socket编程_socket_14        简单的C# Socket编程_socket_09{

28简单的C# Socket编程_socket_10            if (socketForClient.Connected)

29简单的C# Socket编程_c#_13简单的C# Socket编程_socket_14            简单的C# Socket编程_socket_09{

30简单的C# Socket编程_socket_10                while(true)

31简单的C# Socket编程_c#_13简单的C# Socket编程_socket_14                简单的C# Socket编程_socket_09{

32简单的C# Socket编程_socket_10                    Console.WriteLine("Client connected");

33简单的C# Socket编程_socket_10                    NetworkStream networkStream = new NetworkStream(socketForClient);

34简单的C# Socket编程_socket_10                    StreamWriter streamWriter = new StreamWriter(networkStream);

35简单的C# Socket编程_socket_10                    StreamReader streamReader = new StreamReader(networkStream);

36简单的C# Socket编程_socket_10                    string line = streamReader.ReadLine();

37简单的C# Socket编程_socket_10                    Console.WriteLine("Read:" +line);

38简单的C# Socket编程_socket_10                    line=line.ToUpper()+ "!";

39简单的C# Socket编程_socket_10                    streamWriter.WriteLine(line);

40简单的C# Socket编程_socket_10                    Console.WriteLine("Wrote:"+line);

41简单的C# Socket编程_socket_10                    streamWriter.Flush() ;                      

42简单的C# Socket编程_c#_55                } 

43简单的C# Socket编程_c#_55            }

44简单的C# Socket编程_socket_10            socketForClient.Close();            

45简单的C# Socket编程_socket_10            Console.WriteLine("Exiting简单的C# Socket编程_socket_09");

46简单的C# Socket编程_c#_55        }

47简单的C# Socket编程_socket_10        catch(Exception e)

48简单的C# Socket编程_c#_13简单的C# Socket编程_socket_14        简单的C# Socket编程_socket_09{

49简单的C# Socket编程_socket_10            Console.WriteLine(e.ToString()) ;

50简单的C# Socket编程_c#_55        }

51简单的C# Socket编程_c#_55    }

52简单的C# Socket编程_c#_68}


53 简单的C# Socket编程_socket

54 简单的C# Socket编程_socket


Client,客户端程序,在文本框中输入字符,将在列表框显示。



  1 简单的C# Socket编程_socketusing

 System;

  2 简单的C# Socket编程_socket

using  System.Text;

  3 简单的C# Socket编程_socket

using  System.Drawing;

  4 简单的C# Socket编程_socket

using  System.Collections;

  5 简单的C# Socket编程_socket

using  System.ComponentModel;

  6 简单的C# Socket编程_socket

using  System.Windows.Forms;

  7 简单的C# Socket编程_socket

using  System.Net;

  8 简单的C# Socket编程_socket

using  System.Net.Sockets;

  9 简单的C# Socket编程_socket

using  System.IO;

 10 简单的C# Socket编程_socket

 11 简单的C# Socket编程_socket

namespace  SocketSample

 12 简单的C# Socket编程_c#_07简单的C# Socket编程_c#_08

简单的C# Socket编程_socket_09

{

 13简单的C# Socket编程_socket_10    public class Sample : System.Windows.Forms.Form

 14简单的C# Socket编程_c#_13简单的C# Socket编程_socket_14    简单的C# Socket编程_socket_09{

 15简单的C# Socket编程_socket_10        private System.Windows.Forms.Button btS;

 16简单的C# Socket编程_socket_10        private System.Windows.Forms.TextBox t1;

 17简单的C# Socket编程_socket_10        private NetworkStream networkStream ;

 18简单的C# Socket编程_socket_10        private StreamReader streamReader ;

 19简单的C# Socket编程_socket_10        private StreamWriter streamWriter ;

 20简单的C# Socket编程_socket_10        ArrayList sb;

 21简单的C# Socket编程_socket_10        TcpClient myclient;

 22简单的C# Socket编程_socket_10        bool flag=false;

 23简单的C# Socket编程_socket_10        private System.Windows.Forms.ListBox t2;

 24简单的C# Socket编程_socket_10

 25简单的C# Socket编程_socket_10        private System.ComponentModel.Container components = null;

 26简单的C# Socket编程_socket_10

 27简单的C# Socket编程_socket_10        public Sample()

 28简单的C# Socket编程_c#_13简单的C# Socket编程_socket_14        简单的C# Socket编程_socket_09{

 29简单的C# Socket编程_socket_10            sb = new ArrayList();

 30简单的C# Socket编程_socket_10            InitializeComponent();

 31简单的C# Socket编程_socket_10            if(!flag)

 32简单的C# Socket编程_socket_10                Connect();

 33简单的C# Socket编程_socket_10

 34简单的C# Socket编程_socket_10            //get a Network stream from the server

 35简单的C# Socket编程_socket_10            networkStream = myclient.GetStream();

 36简单的C# Socket编程_socket_10            streamReader = new StreamReader(networkStream);

 37简单的C# Socket编程_socket_10            streamWriter = new StreamWriter(networkStream);

 38简单的C# Socket编程_socket_10            ShowMessage();

 39简单的C# Socket编程_c#_55        }

 40简单的C# Socket编程_socket_10

 41简单的C# Socket编程_socket_10        protected override void Dispose( bool disposing )

 42简单的C# Socket编程_c#_13简单的C# Socket编程_socket_14        简单的C# Socket编程_socket_09{

 43简单的C# Socket编程_socket_10            if( disposing )

 44简单的C# Socket编程_c#_13简单的C# Socket编程_socket_14            简单的C# Socket编程_socket_09{

 45简单的C# Socket编程_socket_10                if(components != null)

 46简单的C# Socket编程_c#_13简单的C# Socket编程_socket_14                简单的C# Socket编程_socket_09{

 47简单的C# Socket编程_socket_10                    components.Dispose();

 48简单的C# Socket编程_c#_55                }

 49简单的C# Socket编程_c#_55            }

 50简单的C# Socket编程_socket_10            base.Dispose( disposing );

 51简单的C# Socket编程_c#_55        }

 52简单的C# Socket编程_socket_10

 53简单的C# Socket编程_c#_13简单的C# Socket编程_socket_14        Windows 窗体设计器生成的代码#region Windows 窗体设计器生成的代码

 54简单的C# Socket编程_c#_13简单的C# Socket编程_socket_14        /**//// <summary>

 55简单的C# Socket编程_socket_10        /// 设计器支持所需的方法 - 不要使用代码编辑器修改

 56简单的C# Socket编程_socket_10        /// 此方法的内容。

 57简单的C# Socket编程_c#_55        /// </summary>

 58简单的C# Socket编程_socket_10        private void InitializeComponent()

 59简单的C# Socket编程_c#_13简单的C# Socket编程_socket_14        简单的C# Socket编程_socket_09{

 60简单的C# Socket编程_socket_10            System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(Sample));

 61简单的C# Socket编程_socket_10            this.t1 = new System.Windows.Forms.TextBox();

 62简单的C# Socket编程_socket_10            this.btS = new System.Windows.Forms.Button();

 63简单的C# Socket编程_socket_10            this.t2 = new System.Windows.Forms.ListBox();

 64简单的C# Socket编程_socket_10            this.SuspendLayout();

 65简单的C# Socket编程_socket_10            // 

 66简单的C# Socket编程_socket_10            // t1

 67简单的C# Socket编程_socket_10            // 

 68简单的C# Socket编程_socket_10            this.t1.Location = new System.Drawing.Point(24, 32);

 69简单的C# Socket编程_socket_10            this.t1.Name = "t1";

 70简单的C# Socket编程_socket_10            this.t1.Size = new System.Drawing.Size(280, 21);

 71简单的C# Socket编程_socket_10            this.t1.TabIndex = 0;

 72简单的C# Socket编程_socket_10            this.t1.Text = "";

 73简单的C# Socket编程_socket_10            this.t1.TextChanged += new System.EventHandler(this.t1_TextChanged);

 74简单的C# Socket编程_socket_10            // 

 75简单的C# Socket编程_socket_10            // btS

 76简单的C# Socket编程_socket_10            // 

 77简单的C# Socket编程_socket_10            this.btS.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("btS.BackgroundImage")));

 78简单的C# Socket编程_socket_10            this.btS.Enabled = false;

 79简单的C# Socket编程_socket_10            this.btS.FlatStyle = System.Windows.Forms.FlatStyle.Popup;

 80简单的C# Socket编程_socket_10            this.btS.Location = new System.Drawing.Point(320, 32);

 81简单的C# Socket编程_socket_10            this.btS.Name = "btS";

 82简单的C# Socket编程_socket_10            this.btS.TabIndex = 1;

 83简单的C# Socket编程_socket_10            this.btS.Text = "Send";

 84简单的C# Socket编程_socket_10            this.btS.Click += new System.EventHandler(this.btS_Click);

 85简单的C# Socket编程_socket_10            // 

 86简单的C# Socket编程_socket_10            // t2

 87简单的C# Socket编程_socket_10            // 

 88简单的C# Socket编程_socket_10            this.t2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;

 89简单的C# Socket编程_socket_10            this.t2.Font = new System.Drawing.Font("Courier New", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));

 90简单的C# Socket编程_socket_10            this.t2.ItemHeight = 15;

 91简单的C# Socket编程_socket_10            this.t2.Location = new System.Drawing.Point(24, 64);

 92简单的C# Socket编程_socket_10            this.t2.Name = "t2";

 93简单的C# Socket编程_socket_10            this.t2.Size = new System.Drawing.Size(368, 212);

 94简单的C# Socket编程_socket_10            this.t2.TabIndex = 2;

 95简单的C# Socket编程_socket_10            // 

 96简单的C# Socket编程_socket_10            // Sample

 97简单的C# Socket编程_socket_10            // 

 98简单的C# Socket编程_socket_10            this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);

 99简单的C# Socket编程_socket_10            this.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("$this.BackgroundImage")));

100简单的C# Socket编程_socket_10            this.ClientSize = new System.Drawing.Size(416, 297);

101简单的C# Socket编程_socket_10            this.Controls.Add(this.t2);

102简单的C# Socket编程_socket_10            this.Controls.Add(this.btS);

103简单的C# Socket编程_socket_10            this.Controls.Add(this.t1);

104简单的C# Socket编程_socket_10            this.Name = "Sample";

105简单的C# Socket编程_socket_10            this.Text = "Sample";

106简单的C# Socket编程_socket_10            this.ResumeLayout(false);

107简单的C# Socket编程_socket_10

108简单的C# Socket编程_c#_55        }

109简单的C# Socket编程_c#_55        #endregion

110简单的C# Socket编程_socket_10

111简单的C# Socket编程_socket_10        public static void Main()

112简单的C# Socket编程_c#_13简单的C# Socket编程_socket_14        简单的C# Socket编程_socket_09{

113简单的C# Socket编程_socket_10            Sample df=new Sample();

114简单的C# Socket编程_socket_10            df.FormBorderStyle=FormBorderStyle.Fixed3D;

115简单的C# Socket编程_socket_10            Application.Run(df);

116简单的C# Socket编程_c#_55        }

117简单的C# Socket编程_socket_10

118简单的C# Socket编程_socket_10        protected void Connect()

119简单的C# Socket编程_c#_13简单的C# Socket编程_socket_14        简单的C# Socket编程_socket_09{            

120简单的C# Socket编程_socket_10            //connect to the "localhost" at the give port

121简单的C# Socket编程_socket_10            //if you have some other server name then you can use that instead of "localhost"

122简单的C# Socket编程_socket_10    

123简单的C# Socket编程_socket_10            try

124简单的C# Socket编程_c#_13简单的C# Socket编程_socket_14            简单的C# Socket编程_socket_09{

125简单的C# Socket编程_socket_10                sb.Add("Conneting to Server简单的C# Socket编程_socket_09");

126简单的C# Socket编程_socket_10                myclient = new TcpClient("localhost", 1234);

127简单的C# Socket编程_socket_10                sb.Add("Conneted,Please enter something in the textbox");

128简单的C# Socket编程_c#_55            }

129简单的C# Socket编程_socket_10            catch

130简单的C# Socket编程_c#_13简单的C# Socket编程_socket_14            简单的C# Socket编程_socket_09{

131简单的C# Socket编程_socket_10                sb.Add(string.Format("Failed to connect to server at {0}:1234", "localhost"));

132简单的C# Socket编程_c#_55            }

133简单的C# Socket编程_socket_10            flag = true;

134简单的C# Socket编程_c#_55        }

135简单的C# Socket编程_socket_10

136简单的C# Socket编程_socket_10        protected void ShowMessage()

137简单的C# Socket编程_c#_13简单的C# Socket编程_socket_14        简单的C# Socket编程_socket_09{

138简单的C# Socket编程_socket_10            for(int i=0;i<sb.Count;i++)

139简单的C# Socket编程_c#_13简单的C# Socket编程_socket_14            简单的C# Socket编程_socket_09{

140简单的C# Socket编程_socket_10                t2.Items.Add((object)sb[i].ToString());

141简单的C# Socket编程_c#_55            }

142简单的C# Socket编程_socket_10            sb.Clear();

143简单的C# Socket编程_c#_55        }

144简单的C# Socket编程_socket_10

145简单的C# Socket编程_socket_10        private void t1_TextChanged(object sender, System.EventArgs e)

146简单的C# Socket编程_c#_13简单的C# Socket编程_socket_14        简单的C# Socket编程_socket_09{

147简单的C# Socket编程_socket_10            if(t1.Text == "" )

148简单的C# Socket编程_socket_10                btS.Enabled = false;

149简单的C# Socket编程_socket_10            else

150简单的C# Socket编程_socket_10                btS.Enabled=true;

151简单的C# Socket编程_c#_55        }

152简单的C# Socket编程_socket_10

153简单的C# Socket编程_socket_10        private void btS_Click(object sender, System.EventArgs e)

154简单的C# Socket编程_c#_13简单的C# Socket编程_socket_14        简单的C# Socket编程_socket_09{

155简单的C# Socket编程_socket_10            if(t1.Text=="")

156简单的C# Socket编程_c#_13简单的C# Socket编程_socket_14            简单的C# Socket编程_socket_09{

157简单的C# Socket编程_socket_10                sb.Add( "Please enter something in the textbox.");

158简单的C# Socket编程_socket_10                t1.Focus();

159简单的C# Socket编程_socket_10                return ;

160简单的C# Socket编程_c#_55            }

161简单的C# Socket编程_socket_10            string s;

162简单的C# Socket编程_socket_10            try

163简单的C# Socket编程_c#_13简单的C# Socket编程_socket_14            简单的C# Socket编程_socket_09{            

164简单的C# Socket编程_socket_10                streamWriter.WriteLine(t1.Text);

165简单的C# Socket编程_socket_10                Console.WriteLine("Sending Message");

166简单的C# Socket编程_socket_10                streamWriter.Flush();

167简单的C# Socket编程_socket_10                s= streamReader.ReadLine();

168简单的C# Socket编程_socket_10                Console.WriteLine("Reading Message") ;

169简单的C# Socket编程_socket_10                Console.WriteLine(s) ;

170简单的C# Socket编程_socket_10                sb.Add(s);

171简单的C# Socket编程_socket_10                t1.Text = "";

172简单的C# Socket编程_socket_10                t1.Focus();

173简单的C# Socket编程_socket_10                ShowMessage();

174简单的C# Socket编程_c#_55            }

175简单的C# Socket编程_socket_10            catch

176简单的C# Socket编程_c#_13简单的C# Socket编程_socket_14            简单的C# Socket编程_socket_09{

177简单的C# Socket编程_socket_10                MessageBox.Show("Error.");

178简单的C# Socket编程_c#_55            }    

179简单的C# Socket编程_c#_55        }

180简单的C# Socket编程_c#_55    }

181简单的C# Socket编程_c#_68}


182 简单的C# Socket编程_socket