
网络编程
文章平均质量分 81
b哈利路亚d
动画,游戏,编程....
展开
-
.NET关于同步、异步及Socket
以SOCKET通信中的异步方法为例:public static ManualResetEvent ConnectDone = new ManualResetEvent(false); public static void ConnectCallback(IAsyncResult ar) { Socket sClient = (Socket)ar.As原创 2008-05-05 09:46:00 · 885 阅读 · 0 评论 -
利用IPC通道进行进程间通信(C#)
有一个解决方案,其中包括一个Windows服务和一个Windows应用程序,两者之间需要进行通信。查了下,可以使用多种方法,如Web service(适用于不同系统及跨平台情况)、.NET Remoting、消息队列、WCF(集成了前述方法的功能,但太新,不支持Windows2000及以前的系统),其中Remoting可以支持TCP、HTTP、IPC通道的通信,而IPC通道速度快,且仅能供处于同一转载 2008-05-13 10:12:00 · 4095 阅读 · 0 评论 -
C#使用UDP Client编写聊天程序
UDPClient 类使用 UDP 与网络服务通讯。UDP 的优点是简单易用,并且能够同时向多个地址广播消息。但由于 UDP 协议是一个无连接协议,因此发送到远程终结点的 UDP 数据文报不一定能够到达,也不一定能够以发送的相同顺序到达。使用 UDP 的应用程序必须准备处理丢失的和顺序有误的数据文报。 若要使用 UDP 发送数据文报,必须知道承载所需服务的网络设备的网络地址以及该服务用于转载 2008-05-13 11:17:00 · 6086 阅读 · 1 评论 -
C#UDP的多路广播组的发送和接收
下列范例使用 UdpClient,在通讯端口11000传送UDP 资料包至多点传送位址群组 224.268.100.2。它传送命令列上指定的信息字串。转载 2008-05-13 11:18:00 · 1487 阅读 · 1 评论 -
c#接收电子邮件类
using System;using System.Net.Sockets;using System.Net;using System.Security.Cryptography;using System.IO; /**//////////////////////////////////////////////转载 2008-05-21 19:17:00 · 1020 阅读 · 0 评论 -
Remoting简单实例
一、实用类:1、System.MarshalByRefObject : 系统中远程调用的对象必须是从MarshalByRefObject对象中派生出来的;2、System.Runtime.Remoting.Channels.Tcp.TcpServerChannel : 服务器端的Tcp信道;3、System.Runtime.Remoting.Channels.Http.Ht原创 2008-05-23 09:02:00 · 973 阅读 · 1 评论 -
.NET Remoting编程简介
NET Remoting提供了一个功能强大、高效的处理远程对象的方法,从结构上而言,.NET Remote对象非常适合通过网络访问资源,而又无需处理由基于SOAP的WebServices所带来的难题。.NET Remoting使用起来比Java的RMI简单,但要比创建Web Service难度大一些。在本篇文章中,我们将创建一个从数据库读入内容的远程对象。文中还包括了一个忽略数据库功能的替补对原创 2008-05-23 09:01:00 · 671 阅读 · 0 评论 -
修正一下SocketManager中的SocketServer类
修正一下SocketManager中的SocketServer类/** * 作者:王文斌 * 做成日:2008-5-9 * 版本:0.2 * 说明:Socket服务端,接收到的信息放在队列里,开个线程,监听队列信息。 * 目前客户端识别只提供ip识别,可以考虑利用SocketConn保存客户端识别名称 * */using Sy原创 2008-06-16 10:47:00 · 853 阅读 · 0 评论 -
集合已修改;可能无法执行枚举操作。
上次写的SocketManager中的SocketServer最近出现个问题。偶尔会报 “集合已修改;可能无法执行枚举操作。”错误。首先想到的是没有锁定集合对象。所以先尝试 lock(alSock){}lock关键字用法,多线程共用对象时,操作对象时锁定对象,这样如果有别的线程访问对象,则自动加入队列等待。确保对象操作过程中准确性。但是问题依旧,后来突然想起来foreach是只原创 2008-06-16 10:45:00 · 7738 阅读 · 3 评论 -
修正一下SocketManager中的SocketServer类
修正一下SocketManager中的SocketServer类/** * 作者:王文斌 * 做成日:2008-5-9 * 版本:0.2 * 说明:Socket服务端,接收到的信息放在队列里,开个线程,监听队列信息。 * 目前客户端识别只提供ip识别,可以考虑利用SocketConn保存客户端识别名称 * */using Sy原创 2008-06-16 10:47:00 · 1509 阅读 · 1 评论 -
切实解决socket连接掉线检测
新公司在做物联网,要做与modbus设备的通讯服务。在过程中除了研究modbus协议外,最麻烦的就是设备在线状态的检测问题。Socket本身无法很好的捕获连接断开事件,或者说根本没这功能。总不能每次发生数据通讯时,通过异常来判断吧。所以经过了各种测试及查询(这里还是要感谢国外的友人们,鄙视一下国人),总算找到一种相对稳定的方法。该方法利用了tcp/ip协议本省的keep-alive规则原创 2016-06-17 12:07:18 · 7676 阅读 · 1 评论 -
一个不错的HttpHelper
记录一个用着还不错的HttpHelper/// /// 类说明:HttpHelper类,用来实现Http访问,Post或者Get方式的,直接访问,带Cookie的,带证书的等方式,可以设置代理/// 重要提示:请不要自行修改本类,如果因为你自己修改后将无法升级到新版本。如果确实有什么问题请到官方网站提建议,/// 我们一定会及时修改/// 编码日期:2011-09-20/// 编 码 人转载 2017-11-06 14:20:40 · 734 阅读 · 0 评论 -
C# 从线程中操作控件
下面是一个监控UDP接收的线例子: 1 //申明委托 2 public delegate void mydelegate(); 3 //添加调用控制的方法 4 public void outtext() 5 { 6 textBox1.Text = Read_str; 7 8原创 2008-05-12 16:21:00 · 1021 阅读 · 0 评论 -
。net3.5 Socket全事件封装类
。 基于.Net3.5编写,全异步操作。支持TCP、UDP两种方式,全事件模式通知。Socket35.vb ********************************************************************** 适用于 .Net3.5版本***********************************转载 2008-05-12 15:17:00 · 1192 阅读 · 0 评论 -
socket编程
创建socket:创建一个 Socket,它可用于在基于 TCP/IP 的网络(如 Internet)上通信。Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);若要使用 UDP 而不是 TCP。Socket s = new Socket(AddressFamily.Int原创 2008-05-07 11:16:00 · 727 阅读 · 0 评论 -
C# Socket编程
//Socket基本编程 //服务端: using System.Net; using System.Net.Sockets; using System.Text; using System.Threading; Thread mythread ; Socket socket; // 清理所有正在使用的资源。 protected override void Dispose( bool dis转载 2008-05-07 11:26:00 · 650 阅读 · 0 评论 -
.NET Socket开发之异步Socket
在基于.NET的网络服务端的开发中,我们用到和听到的最多的恐怕就是异步Socket了。异步Socket的性能比同步高出很多,但是编写代码比较复杂。因此异步Socket也是网络上讨论比较多的话题。今天,我们就来讨论一下如何用异步Socket开发网络应用。在此之前我们先讨论两个问题。一、异步Socket是如何工作的:那异步Socket是如何工作的呢?我以接收一条消息来说明这个问题。首先,程转载 2008-05-07 13:02:00 · 817 阅读 · 0 评论 -
在C#中实现Socket端口复用
一、什么是端口复用: 因为在winsock的实现中,对于服务器的绑定是可以多重绑定的,在确定多重绑定使用谁的时候,根据一条原则是谁的指定最明确则将包递交给谁,而且没有权限之分。这种多重绑定便称之为端口复用。二、我们如何实现Socket端口复用: 其实我们要实现端口复用很简单,我们只要使用SetSocketOption函数设置Socket选项就可以了。MSDN是这样解释的:Socke转载 2008-05-07 13:04:00 · 1370 阅读 · 0 评论 -
Socket初探
什么是Socket Socket接口是TCP/IP网络的API,Socket接口定义了许多函数或例程,程序员可以用它们来开发TCP/IP网络上的应用程序。要学Internet上的TCP/IP网络编程,必须理解Socket接口。 Socket接口设计者最先是将接口放在Unix操作系统里面的。如果了解Unix系统的输入和输出的话,就很容易了解Socket了。网络的Socket数据传输是一种特殊转载 2008-05-07 11:33:00 · 661 阅读 · 0 评论 -
.NET Socket开发之同步Socket实现两例
.NET Socket开发之同步Socket实现两例今天,我们来讲一下在.NET 网络应用程序开发中同步Socket的应用,很多人认为在网络应用的服务端Socket不应该使用同步Socket。是的,在大多数情况下是这样的,但是也有一些场景下我们使用同步Socket可能会得到更的结果。如在下面的两种场景下我们便可以考虑使用同步的Socket。一、客户端数量比较少:数量比较少是指会同时连接转载 2008-05-07 13:01:00 · 884 阅读 · 0 评论 -
Socket开发之通讯协议及处理
在Socket应用开发中,还有一个话题是讨论的比较多的,那就是数据接收后如何处理的问题。这也是一个令刚接触Socket开发的人很头疼的问题。因为Socket的TCP通讯中有一个“粘包”的现象,既:大多数时候发送端多次发送的小数据包会被连在一起被接收端同时接收到,多个小包被组成一个大包被接收。有时候一个大数据包又会被拆成多个小数据包发送。这样就存在一个将数据包拆分和重新组合的问题。那么如何去处理转载 2008-05-07 13:03:00 · 828 阅读 · 0 评论 -
最基本的Socket编程 C#版 [转]
示例程序是同步套接字程序,功能很简单,只是客户端发给服务器一条信息,服务器向客户端返回一条信息;这里只是一个简单的示例,是一个最基本的socket编程流程,在接下来的文章中,会依次记录套接字的同步和异步,以及它们的区别。 下面是示例程序的简单步骤说明服务器端:第一步:用指定的端口号和服务器的ip建立一个EndPoint对像;第二步:建立一个Socket对像;第三步:用s转载 2008-05-07 11:27:00 · 968 阅读 · 0 评论 -
C# socket编程
续实例解析SOCKET编程模型之异步通信篇(上) .NET 框架的 Socket 类实际上是 Winsock32 API 提供的套接字服务的托管代码版本。其中Socket 类为网络通信提供了一套丰富的方法和属性,大多数情况下,Socket 类方法只是将数据封送到它们的本机Win32 副本中并处理任何必要的安全检查。Socket 类允许使用 ProtocolType 枚举中所列出的任何一种协转载 2008-05-07 11:30:00 · 1318 阅读 · 0 评论 -
C# Socket多线程编程实例
C#是微软随着VS.net新推出的一门语言。它作为一门新兴的语言,有着C++的强健,又有着VB等的RAD特性。而且,微软推出C#主要的目的是为了对抗Sun公司的Java。大家都知道Java语言的强大功能,尤其在网络编程方面。于是,C#在网络编程方面也自然不甘落后于人。本文就向大家介绍一下C#下实现套接字(Sockets)编程的一些基本知识,以期能使大家对此有个大致了解。首先,我向大家介绍一下套接转载 2008-05-07 13:11:00 · 3244 阅读 · 4 评论 -
网络-socket相关(1)
TCPClient: 主要方法: Connect(IPEndPoint),Connect(IPAddress,port),Connect(string dnsName,port) 构造函数的参数和Connect的一样,但是参数指定本定地址。 NetworkStream GetStream();获得向网络发送和接收数据的网络流,使用其 Write 和转载 2008-05-07 11:18:00 · 849 阅读 · 1 评论 -
简单的C# Socket编程
只是一个简单的示例。Server,服务器代码。使用Socket套接字连接。 1using System; 2using System.Net; 3using System.Net.Sockets; 4using System.IO ; 5 6public class Echoserver 7{ 8 //entry point of main method. 9 public转载 2008-05-07 11:24:00 · 686 阅读 · 0 评论