庞大资源库的计算机教程网站!
设为首页
加入收藏
总编信箱
投稿或申请专栏请先 [登 陆]
首页 操作系统 程序设计 图形图像 媒体动画 机械电子 WEB开发 数 据 库 办公系列 路由技术 网络原理 网络应用
认证考试 安全技术
首页>程序设计>C#语言>网络编程>正文
资料搜索
Google搜索
Google
返回上级列表

推荐文章

快速保存网页中所有图片的方法
Windows中让光驱巧妙“隐身”技
防范非法用户入侵Win 2000/XP系
两款比较典型的ASP木马防范方法
有关表格边框的css语法整理
Windows XP中可以被禁用的服务
SQL Server导出导入数据方法
Javascript所有对象的属性的获
网页(HTML)中的特殊字符
与篮球共舞,尽显模式本色
QQ病毒的手工清除方法
Photoshop为极品美女打造性感睫
天衣无缝:IIS与PHP水火也相容
SQL Server存储过程编写和优化

Visual C#托管Socket的实现方法(一) (2)

 作者:本站收集   日期:2005-8-8 9:58:56
字号选择〖 〗/ 双击滚屏 单击停止   
三.本文介绍程序的设计调试、运行的软件环境

(1).微软公司视窗2000服务器版

(2).Visual Studio .Net正式版,.Net FrameWork SDK版本号3705

四.利用Socket来传送数据

Visual C#在使用Socket传送数据时要注意下列问题的解决方法:

1.创建Socket实例,使用此实例创建和远程终结点的连接,并判断连接是否成功建立。

2.发送数据到Socket,实现数据传送。

这些问题解决方法都可以在下面介绍代码中找到相对应的部分。由于下面的代码都有详细的注解,

这里就不详细介绍。下面是利用Socket传送数据的具体实现步骤:

1.启动Visual Studio .Net,并新建一个Visual C#项目,

项目名称为【利用Socket来发送数据】。

2.把Visual Studio .Net的当前窗口切换到【Form1.cs(设计)】窗口,

并从【工具箱】中的【Windows窗体组件】选项卡中往Form1窗体中拖入下列组件,并执行相应操作:

二个TextBox组件,一个用以输入远程主机的IP地址,一个用以输入往远程主机传送的数据

一个StausBar组件,用以显示程序的运行状况。

一个ListBox组件,用以显示程序已传送的数据信息。

三个Label组件。

二个Button组件,名称分别为button1、button2,并在这二个组件被拖入窗体后,分别双击它们,则系统会在Form1.cs文件中自动产生这二个组件的Click事件对应的处理代码。

3.【解决方案资源管理器】窗口中,双击Form1.cs文件,进入Form1.cs文件的编辑界面。

4.以下面代码替代系统产生的InitializeComponent过程:

private void InitializeComponent ( )
{
	this.label1 = new System.Windows.Forms.Label ( ) ;
	this.textBox1 = new System.Windows.Forms.TextBox ( ) ;
	this.button1 = new System.Windows.Forms.Button ( ) ;
	this.label2 = new System.Windows.Forms.Label ( ) ;
	this.textBox2 = new System.Windows.Forms.TextBox ( ) ;
	this.listBox1 = new System.Windows.Forms.ListBox ( ) ;
	this.statusBar1 = new System.Windows.Forms.StatusBar ( ) ;
	this.label3 = new System.Windows.Forms.Label ( ) ;
	this.button2 = new System.Windows.Forms.Button ( ) ;
	this.SuspendLayout ( ) ;
	this.label1.Location = new System.Drawing.Point ( 24 , 20 ) ;
	this.label1.Name = "label1" ;
	this.label1.Size = new System.Drawing.Size ( 74 , 30 ) ;
	this.label1.TabIndex = 0 ;
	this.label1.Text = "IP地址:" ;
	this.textBox1.BorderStyle = System.Windows.
         Forms.BorderStyle.FixedSingle ;
	this.textBox1.Location = new System.Drawing.Point ( 94 , 18 ) ;
	this.textBox1.Name = "textBox1" ;
	this.textBox1.Size = new System.Drawing.Size ( 166 , 21 ) ;
	this.textBox1.TabIndex = 1 ;
	this.textBox1.Text = "" ;
	this.button1.FlatStyle = System.Windows.Forms.FlatStyle.Flat ;
	this.button1.Location = new System.Drawing.Point ( 280 , 14 ) ;
	this.button1.Name = "button1" ;
	this.button1.Size = new System.Drawing.Size ( 62 , 28 ) ;
	this.button1.TabIndex = 2 ;
	this.button1.Text = "连接" ;
	this.button1.Click += new System.EventHandler ( this.button1_Click ) ;
	this.label2.Location = new System.Drawing.Point ( 16 , 64 ) ;
	this.label2.Name = "label2" ;
	this.label2.TabIndex = 3 ;
	this.label2.Text = "发送信息:" ;
	this.textBox2.BorderStyle = System.Windows.
         Forms.BorderStyle.FixedSingle ;
	this.textBox2.Location = new System.Drawing.Point ( 94 , 58 ) ;
	this.textBox2.Name = "textBox2" ;
	this.textBox2.Size = new System.Drawing.Size ( 166 , 21 ) ;
	this.textBox2.TabIndex = 4 ;
	this.textBox2.Text = "" ;
	this.listBox1.ItemHeight = 12 ;
	this.listBox1.Location = new System.Drawing.Point ( 20 , 118 ) ;
	this.listBox1.Name = "listBox1" ;
	this.listBox1.Size = new System.Drawing.Size ( 336 , 160 ) ;
	this.listBox1.TabIndex = 6 ;
	this.statusBar1.Location = new System.Drawing.Point ( 0 , 295 ) ;
	this.statusBar1.Name = "statusBar1" ;
	this.statusBar1.Size = new System.Drawing.Size ( 370 , 22 ) ;
	this.statusBar1.TabIndex = 7 ;
	this.statusBar1.Text = "无连接" ;
	this.label3.Location = new System.Drawing.Point ( 14 , 94 ) ;
	this.label3.Name = "label3" ;
	this.label3.Size = new System.Drawing.Size ( 128 , 23 ) ;
	this.label3.TabIndex = 8 ;
	this.label3.Text = "已经发送的信息:" ;
	this.button2.FlatStyle = System.Windows.Forms.FlatStyle.Flat ;
	this.button2.Location = new System.Drawing.Point ( 280 , 54 ) ;
	this.button2.Name = "button2" ;
	this.button2.Size = new System.Drawing.Size ( 62 , 28 ) ;
	this.button2.TabIndex = 9 ;
	this.button2.Text = "发送" ;
	this.button2.Click += new System.EventHandler
         ( this.button2_Click ) ;
	this.AutoScaleBaseSize = new System.Drawing.Size ( 6 , 14 ) ;
	this.ClientSize = new System.Drawing.Size ( 370 , 317 ) ;
	this.Controls.AddRange ( new System.Windows.Forms.Control[] {
		  this.button2 ,
		  this.statusBar1 ,
		  this.listBox1 ,
		  this.textBox2 ,
		  this.label2 ,
		  this.button1 ,
		  this.textBox1 ,
		  this.label1 ,
		  this.label3} ) ;
	this.FormBorderStyle = System.
         Windows.Forms.FormBorderStyle.FixedSingle ;
	this.MaximizeBox = false ;
	this.Name = "Form1" ;
	this.Text = "利用Socket来发送数据" ;
	this.ResumeLayout ( false ) ;
}

至此【利用Sokcet来传送数据】项目设计后的界面就完成了,具体如图01所示:



图01:【利用Sokcet来传送数据】项目的设计界面


5.在Form1.cs文件的开头的导入命名空间的代码区,添加下列代码,

下列代码是导入下面程序中使用到的类所在的命名空间:

using System ;
using System.Drawing ;
using System.Collections ;
using System.ComponentModel ;
using System.Windows.Forms ;
using System.Data ;
using System.Net.Sockets ;
//使用到TcpListen类
using System.Net ;
上一篇:Visual C#托管Socket的实现方法(一) (3)    下一篇:Visual C#托管Socket的实现方法(一) (1)  
[发送给好友]  [关闭窗口]  [返回顶部]   转载请注明来源:www.it00.com   
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
责任编辑: 原点 投稿作者: 本站收集
信息来源: 网络 录入时间: 2005-8-8 9:58:56
关于我们 - 广告服务 - 版权申明 - 网站地图 - 联系方式 - 总编信箱 - 会员投稿