通过套接字连接到WCF主机

时间:2018-07-24 07:22:15

标签: c# sockets wcf

我需要编写自己的客户端,以从使用TCP协议的现有WCF主机读取数据。

我的想法是创建套接字,连接到远程主机并通过该套接字进行通信。

这是我正在使用的代码

//this part works well

NetTcpBinding binding = new NetTcpBinding(SecurityMode.None);
EndpointAddress address = new EndpointAddress("net.tcp://MY_ADDRESS:6334/IESI");

ChannelFactory<IIESIRemote> factory = new ChannelFactory<IIESIRemote>(binding, address);
IIESIRemote remote = factory.CreateChannel();

IESIState state = remote.State;

((IClientChannel)remote).Close();
factory.Close();

//this part does not work

IPAddress ipAddress = Dns.GetHostEntry("MY_ADDRESS").AddressList[0];
IPEndPoint ep = new IPEndPoint(ipAddress, 6334);

Socket socket = new Socket(ipAddress.AddressFamily, SocketType.Stream, ProtocolType.Tcp);

socket.Connect(ep);

当我使用传统的WCF客户端时,一切正常。但是,当我尝试使用套接字进行连接时,会收到“无法建立连接,因为目标计算机主动拒绝了它。”

能否请您帮助我了解我在做什么错?

0 个答案:

没有答案