五.利用Socket来接收数据:
Vi sual C#在使用Socket来介绍网络传送来的数据时,要 解决下面三个问题,也是完成Visual C#使用Socket 来接收数据的三个步骤:
1.侦听网络,接受网络连接申请 ;
2..获得用以接收数据的Socket实例,并以此实 例接收远程主机发送来的数据;
3.根据远程主机发送来的 控制码,断开网络连接,并清除资源。
此处接收接收数据, 是上面介绍的【利用Socket来传送数据】传送来的数据。下面就是利用Socket来接收数据的具体实现步骤:
1.启动Viisual Studio .Net,并新建一个 Visual C#项目,项目名称为【利用Socket来接收数 据】。
2.把Visual Studio .Net的当 前窗口切换到【Form1.cs(设计)】窗口,并从【工具箱】 中的【Windows窗体组件】选项卡中往Form1窗体中拖入 下列组件,并执行相应操作:
一个ListBox组件,用 以显示接收的数据。
一个StausBar组件,用以显示 接收端程序的运行状况。
一个Button组件,名称为b utton1,并在这个组件被拖入窗体后,双击它,则系统会在F orm1.cs文件中自动产生其Click事件对应的处理代码。
3.【解决方案资源管理器】窗口中,双击Form1.c s文件,进入Form1.cs文件的编辑界面。
4.以下 面代码替代系统产生的InitializeComponent过 程::
private void InitializeCompon ent ( )
{
this.button1 = new System.Windows.Forms.But ton ( ) ;
this.listBox1 = new System.Windows.Forms.ListB ox ( ) ;
this.statusBar1 = new System.Windows.Forms.Stat usBar ( ) ;
this.SuspendLa yout ( ) ;
this.button1.Fl atStyle = System.Windows.Forms .FlatStyle.Flat ;
this.but ton1.Location = new System.Dra wing.Point ( 96 , 16 ) ;
t his.button1.Name = "
butto n1"
;
this.button1.Si ze = new System.Drawing.Size ( 80 , 34 ) ;
this.button1. TabIndex = 0 ;
this.button 1.Text = "
监听"
;
this.button1.Click += new Syst em.EventHandler ( this.button1 _Click ) ;
this.listBox1.I temHeight = 12 ;
this.list Box1.Location = new System.Dra wing.Point ( 16 , 68 ) ;
t his.listBox1.Name = "
list Box1"
;
this.listBox1 .Size = new System.Drawing.Siz e ( 258 , 172 ) ;
this.lis tBox1.TabIndex = 1 ;
this. statusBar1.Location = new Syst em.Drawing.Point ( 0 , 251 ) ;
this.statusBar1.Name = &q uot;
statusBar1"
;
thi s.statusBar1.Size = new System .Drawing.Size ( 292 , 22 ) ;
this.statusBar1.TabIndex = 2 ;
this.statusBar1.Text = "
无连接"
;
this.Au toScaleBaseSize = new System.D rawing.Size ( 6 , 14 ) ;
t his.ClientSize = new System.Dr awing.Size ( 292 , 273 ) ;
this.Controls.AddRange ( new System.Windows.Forms.Control[] {
this.statusBar1 ,
this.listBox1 ,
th is.button1} ) ;
this.FormB orderStyle = System.Windows.Fo rms.FormBorderStyle.FixedSingl e ;
this.MaximizeBox = fal se ;
this.Name = "
For m1"
;
this.Text = &qu ot;
利用Socket来接收数据"
;
t his.ResumeLayout ( false ) ;
}