关闭

.Net Remoting中Remote Server的Port占用/释放问题

标签: server.netexceptionapplicationsocketservice
3174人阅读 评论(0) 收藏 举报
分类:

这一问题一般出现在Console application/Windows Service承载Remote Objects时,要求Remote Server指定特定portIIS在承载Remote Objects并不需要指定特定port,因此一般不会出现SocketException异常信息。

 

1. 启动承载Remote ObjectsConsole application,发现指定的port状态为:LISTENING

显然Remote Server开始监听该port,可以接受Client端的请求。

 

2. 在关闭承载Remote ObjectsConsole application后,发现指定的port状态为:TIME_WAIT

 

如果现在启动该Console application,就会抛出如下异常:

An unhandled exception of type 'System.Runtime.Remoting.RemotingException' occurred in mscorlib.dll

 

Additional information: Remoting configuration failed with the exception System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Net.Sockets.SocketException: Only one usage of each socket address (protocol/network address/port)

is normally permitted

 

SocketException异常:每一个socket address (protocol/network address/port)只能有一个使用。

 

3. 个人观点

关于TIME_WAIT状态,这是windows系统设计的,防止来自旧的连接(old connection)的剩余packets干扰新的连接(new connection)。因此,默认会等待4分钟,让那些剩余的packets丢弃掉。

 

因此,不要试图去解决这一问题。等待4分钟左右的时间,确认该port确定已释放,再启动Remote Server,如Console application/Windows Service等。

 

不同观点或意见,请发表评论或指出。谢谢。

 
0
0
查看评论

.Net Remoting中Remote Server的Port占用/释放问题

这一问题一般出现在Console application/Windows Service承载Remote Objects时,要求Remote Server指定特定port。IIS在承载Remote Objects并不需要指定特定port,因此一般不会出现SocketException异常信息。...
  • hejishan
  • hejishan
  • 2007-12-18 02:55
  • 135

简述WebService与.NET Remoting的区别及适应场合

为了能清楚地描述Web Service 和Remoting之间的区别,我打算从他们的体系结构上来说起: Web Service大体上分为5个层次: 1. Http传输信道 2. XML的数据格式 3. SOAP封装格式 4. WSDL的描述方式 5. UDDI 总体上来讲,.NET 下的 ...
  • zhoufoxcn
  • zhoufoxcn
  • 2007-06-12 23:38
  • 4430

.net Remoting用TCP和HTTP区别(上)

2010年04月04日 星期日 11:08Remoting和WebService都是.Net提供的远程访问的方法,Remoting具有以下几个优点 <br />1、Tcp通道的Remoting速度非常快<br /> 2、虽然是远程的,但是非常接近于本地调用对象<br...
  • flywkk1218
  • flywkk1218
  • 2010-12-29 14:58
  • 1488

.net Remoting的工作原理

<br />     .NET Remoting 提供了一种允许对象通过应用程序域与另一对象进行交互的框架。在Remoting中是通过通道(channel)来实现两个应用程序域之间对象的通信的。<br />  ...
  • hawking3000
  • hawking3000
  • 2010-06-15 23:55
  • 3849

Spring remoting简单例子

Spring目前提供了对RMI、HttpInvoker、Hessian、Burlap及WebService等Remoting技术的集成。Spring屏蔽了这些实现技术的差异,用户只需开发简单的Java对象(Plain Old Java Objects,POJO)然后按照Spring规定的格式进行配置...
  • kjfcpua
  • kjfcpua
  • 2012-03-21 11:10
  • 2306

在忍无可忍的情况下,我终于抛弃了remoting

remoting最讨厌的就是有个绑定ip问题,如果绑定ip,那么只能绑定一个,那么如果机器是多网卡,则只能用绑定的这个ip访问。 这位说了可以绑定机器名啊。 绑定机器名的话,如果服务器是内网的就不行了。   举个例子吧,如果一个服务器是内网,如果绑定路由器的外网ip,并在路由器做映...
  • laotse
  • laotse
  • 2012-05-26 02:16
  • 5219

Remoting原理及实现

.NET Remoting是.NET平台上允许存在于不同应用程序域中的对象相互知晓对方并进行通讯的基础设施。调用对象被称为客户端,而被调用对象则被称为服务器或者服务器对象。简而言之,它就是.NET平台上实现分布式对象系统的框架。 传统的方法调用是通过栈实现,调用方法前将this指针以及方法参数压入...
  • u012648365
  • u012648365
  • 2014-06-25 21:43
  • 1420

.NET Remoting 最简单示例

学习技术知识一个好的方法是先动手,再深入, 给出一个最简单的Remoting程序示例(C#)如下: Step1:创建类库(DLL)工程RemotingObjects,类Person代码如下: using System; using System.Collections.Generic; usin...
  • kissqw
  • kissqw
  • 2014-01-21 15:29
  • 20416

.Net中Remoting通信机制

Remoting通信机制 Remoting介绍 主要元素 通道类型 激活方式 对象定义 Remoting介绍 什么是Remoting,简而言之,我们可以将其看作是一种分布式处理方式。 从微软的产品角度来看,可以说Remoting就是DCOM(分布式...
  • CoderJYF
  • CoderJYF
  • 2016-12-06 17:25
  • 1551

Remoting: Server encountered an internal error

发生这个错误的原因是Remoting的一个配置项: 元素  指示此应用程序域中的服务器通道是否将经筛选的或完整的异常信息返回给本地或远程调用方。xml version="1.0" encoding="utf-8" ?&g...
  • shanyou
  • shanyou
  • 2007-04-20 18:28
  • 555
    个人资料
    • 访问:1098731次
    • 积分:14301
    • 等级:
    • 排名:第1025名
    • 原创:305篇
    • 转载:28篇
    • 译文:0篇
    • 评论:592条
    最新评论
    [╄ 冷枫]简介