All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
学习Asp.Net经常会用到的函数集_.net资料_编程技术
脚本代码:实例解析Js+XML的操作方法_JavaScript技术_编程技术
PHP程序加速探索之代码优化_[PHP教程]
ASP.NET技巧:使Div内内容可编辑_[Asp.Net教程]
使用ASP.Net,Forms模式实现WebService身份验证_.net资料_编程技术
PHP的十个高级技巧(中)_[PHP教程]
PHP学习:Smarty的分页实现_[PHP教程]
使用javascript脚本控制网页Table的显示隐藏_JavaScript技术_编程技术
Session丢失原因与解决方案小结_[Asp.Net教程]
VS2008的Linq,更新数据就那么费劲?_.net资料_编程技术
Reading number is top 10 pictures
看到这名字我也是醉了。。。。。。
可爱的狗熊们
Compared GDP and per capita income in China for 40 years
再来随便发几张
The money of more than 100 countries and regions17
Players in the eyes of a perfect love1
可爱的小动物
银行20年后可能消失
夕阳下的北京街道
Hunan road lawenforcement vehicle pursue overload car caused the car turn and man is died
Download software ranking
少妇苏霞全本
WebService在.NET中的实战应用教学视频 → 第5集
1400篇各类破解文章
Adobe Flash Player(IE) 10.0.32.18 浏览器专用的FLASH插件
Unix video tutorial15
asp.net技术内幕
Professional killers2 for Android
在线棋牌游戏3.05版
The Bermuda triangle1
Tram sex maniac 2 (H) rar bag9
qq published in(发表于) 2014/7/11 9:22:56 Edit(编辑)
C#教程:Socket类的属性、方法使用实例

C#教程:Socket类的属性、方法使用实例

C#教程:Socket类的属性、方法使用实例|方法

Socket类的属性、方法

本节将主要介绍Socket类的属性和方法,以便为读者使用Socket类进行网络编程提供方便。

1.Socket类的属性

下面对比较重要的属性进行详细介绍。

(1)AddressFamily属性。获取Socket的地址族。

语法:

public AddressFamily AddressFamily { get; }

注意:AddressFamily指定Socket类的实例可以使用的寻址方案。此属性为只读属性,它在创建Socket时设置。

示例

获取Socket的地址族

本示例中,当程序运行时,单击窗体中的【获取地址族】按钮,在窗体的文本框中显示出当前Socket对应的地址族,本示例,首先引入System.Net.Sockets命名空间,然后在窗体中添加一个Lable控件(用于显示信息)、一个TextBox控件(用于显示结果)和一个Button控件(用于触发事件),运行结果如图1所示。



图1 运行结果

private void button1_Click(object sender, EventArgs e)

{

if (sk != null)

{

this.textBox1.Text = sk.AddressFamily.ToString();

}

else

{

MessageBox.Show("结果为空值");

}

}

在窗体加载时,实例化Socket对象、将Socket的地址族设为InterNetwork、将Socket的类型设为Stream类型、将Socket的协议类型设为Tcp类型。FrmSockect窗体的Load事件代码如下:

private void FrmSockect_Load(object sender, EventArgs e)

{

sk = new Socket(AddressFamily.InterNetwork, SocketType.Stream,

ProtocolType.Tcp);

}

(2)DontFragment属性。获取或设置Boolean值,该值指定Socket是否允许将Internet协议(IP)数据报分段。

语法:

public bool DontFragment { get; set; }

注意:如果数据报大小超过传输介质的最大传送单位,则需要将数据报分段。可以由发送主机或中间路由器将数据报分段。如果必须对数据报进行分段,且已设置DontFragment选项,则会丢弃数据报,而且会将Internet控制消息协议的错误信息返回给数据报的发送方。

(3)EnableBroadcast属性。获取或设置一个Boolean值,该值指定Socket是否可以发送或接收广播数据报。

语法:

public bool EnableBroadcast { get; set; }

注意:广播仅限于特定子网,并且必须使用用户数据报协议(UDP)。对于Internet协议版本4,可通过向255.255.255.255发送数据包来向本地子网广播;也可以使用定向广播地址,即Internet协议(IP)地址的网络部分,同时所有位都在主机部分设置。例如,如果IP地址是192.168.1.40(C类地址,网络掩码为255.255.255.0,网络部分是前3个八进制数,主机部分是最后一个八进制数),则定向广播地址是192.168.1.255。

(4)MulticastLoopback属性。获取或设置一个值,该值指定传出的多路广播数据报是否传递到发送应用程序。

语法:

public bool MulticastLoopback { get; set; }

注意:多路广播是一种适用于Internet上的多对多通信的可伸缩方式。一个进程预订多路广播地址;之后,已预订进程发送的所有数据报都由预订该多路广播地址的所有其他进程接收。对传输控制协议(TCP)套接字设置此属性不起任何作用。

完整程序代码如下:

★ ★★★★FrmSockect.cs窗体代码文件完整程序代码★★★★★

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

using System.Net.Sockets;

namespace _6_02

{

public partial class FrmSockect : Form

{

public FrmSockect()

{

InitializeComponent();

}

Socket sk;

private void button1_Click(object sender, EventArgs e)

{

if (sk != null)

{

this.textBox1.Text = sk.AddressFamily.ToString();

}

else

{

MessageBox.Show("结果为空值");

}

}

private void FrmSockect_Load(object sender, EventArgs e)

{

sk = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

}

}

}

★ ★★★★FrmSockect.designer.cs窗体设计文件完整程序代码★★★★★

namespace _6_02

{

partial class FrmSockect

{

///



/// 必需的设计器变量。

///


private System.ComponentModel.IContainer components = null;

///

/// 清理所有正在使用的资源。


添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.