手机
当前位置:查字典教程网 >编程开发 >asp.net教程 >Asp.net Socket客户端(远程发送和接收数据)
Asp.net Socket客户端(远程发送和接收数据)
摘要:复制代码代码如下:/****************************************对象名称:SocketObj*功能说明:...

复制代码 代码如下:

/***************************************

* 对象名称: SocketObj

* 功能说明: 远程发送与接收

* 试用示例:

* using EC; //引用空间名

* string url = "218.75.111.74"; // URL也可以是(http://www.baidu.com/)这种形式

* int port = 8000; //端口

* string SendStr = "domainnamen"; //组织要发送的字符串

* SendStr += "checkn";

* SendStr += "entityname:domainsn";

* SendStr += "domainname:" + this.TextBox1.Text + "n";

* SendStr += ".n";

* EBSocketObj o = new SocketObj(); //创建新对象

* o.Connection(url, port); //打开远程端口

* o.Send(SendStr); //发送数据

* Response.Write(o.Recev()); //接收数据

* o.Dispose(); //销毁对象

**********************************************/

using System;

using System.IO;

using System.Net;

using System.Net.Sockets;

using System.Text;

namespace EC

{

/// <summary>

/// Socket 远程发送与接收

/// </summary>

public class SocketObj

{

private NetworkStream ns;

private bool _alreadyDispose = false;

#region 构造与释构

public EBSocketObj()

{

//

// TODO: 在此处添加构造函数逻辑

//

}

public EBSocketObj(string url, int port)

{

Connection(url, port);

}

~EBSocketObj()

{

Dispose();

}

protected virtual void Dispose(bool isDisposing)

{

if (_alreadyDispose) return;

if (isDisposing)

{

if (ns != null)

{

try

{

ns.Close();

}

catch (Exception E) { }

ns.Dispose();

}

}

_alreadyDispose = true;

}

#endregion

#region IDisposable 成员

public void Dispose()

{

Dispose(true);

GC.SuppressFinalize(this);

}

#endregion

#region 打开端口

/// <summary>

/// 打开端口

/// </summary>

/// <param name="url">URL或者:IP地址</param>

/// <param name="port"></param>

/// <returns></returns>

public virtual void Connection(string url, int port)

{

if (url == null || url == "") return;

if (port < 0) return;

if (port.ToString()==string.Empty) port = 80;

TcpClient tcp = null;

try

{

tcp = new TcpClient(url, port);

}

catch (Exception E)

{

throw new Exception("Can't connection:" + url);

}

this.ns = tcp.GetStream();

}

#endregion

#region 发送Socket

/// <summary>

/// 发送Socket

/// </summary>

/// <param name="ns"></param>

/// <param name="message"></param>

/// <returns></returns>

public virtual bool Send(string message)

{

if (ns == null) return false;

if (message == null || message == "") return false;

byte[] buf = Encoding.ASCII.GetBytes(message);

try

{

ns.Write(buf, 0, buf.Length);

}

catch (Exception E)

{

throw new Exception("Send Date Fail!");

}

return true;

}

#endregion

#region 收取信息

/// <summary>

/// 收取信息

/// </summary>

/// <param name="ns"></param>

/// <returns></returns>

public string Recev()

{

if (ns == null) return null;

byte[] buf = new byte[4096];

int length = 0;

try

{

length = ns.Read(buf, 0, buf.Length);

}

catch (Exception E)

{

throw new Exception("Receive data fail!");

}

return Encoding.ASCII.GetString(buf, 0, length);

}

#endregion

}

}

【Asp.net Socket客户端(远程发送和接收数据)】相关文章:

.Net Compact Framework开发小技巧 推荐

asp.net(c#)判断远程图片是否存在

asp.net Google样式分页控件

asp.net 数据访问层基类

asp.net对URL含有中文参数的转换

asp.net下利用JS实现对后台CS代码的调用方法

asp.net Repeater绑定时使用函数

asp.net 操作excel的实现代码

asp.net简化接收参数值的函数

ASP.net中获取客户端参数操作系统信息

精品推荐
分类导航