端口号(Port Number)
端口号(Port numbers)与 TCP 和 UDP 协议有关,被设计来区分运行在一单个设备上的应用程序与另一个用一个 IP 地址。因为很多网络应用程序可能运行在相同的机器上,计算机需要某物来保证恰当的软件应用程序在目的地计算机上获得来自源机器的数据分组,和保证答复被发送到源计算机恰当的应用程序。这通过使用 TCP 或 UDP “端口号”来完成。在 TCP 和 UDP 的报头,有“源端口”和“目的端口”域,它们被用于指出信息发送过程和接收过程身份定义。IP 地址和端口的结合叫做“套接字”。
最近由于客户群增大,客户需求增多,为了适应社会的发展,考虑到软件的长生命周期以及根据客户的满意度,公司高层决定对版本进行分离,于是目前的程序版本就有了2个,对客户而言每一个客户提的需求只在对应版本上修正即可。时间一长问题也就来了。
Problem-----------测试人员测试出来的问题具有共同性,2个版本都要进行修改,但是每个版本的服务相同,导致修改连接的数据库一样了。
分析------对每一个版本使用不同的服务。
解决方案:----由于服务的使用涉及到了端口号,所以文章开始查找了关于端口号的使用。目前系统涉及到端口号的地方有2个地方
地方一:
AppConfig appConfig = AppConfig.GetInstance();
SERVER_TCP_URL = "tcp://" + appConfig.HostName + ":8309";
地方二:
// TODO: 在此处添加代码以启动服务。
if (ChannelServices.GetChannel("TcpServer") == null)
{
tcpChan = new TcpServerChannel("TcpServer",8309);
ChannelServices.RegisterChannel(tcpChan, false);
try
{
RemotingConfiguration.CustomErrorsMode = CustomErrorsModes.Off;
}
catch (Exception)
{
}
}
上述地方一 和地方二要同时对应一样的端口号,不然程序依然会编译成功,服务依然能启动成功,但是还是会提示需要启动系统服务。