现在碰到一个刺手的问题,是这样的!
我的客户端要通过socket与服务器端进行通信,可是客户端服务器上是双ip地址(比方是192.168.1.10和192.168.1.20),可是服务器端只允许192.168.1.20进行通信,进行了ip限制,在客户端上192.168.1.10是主ip,192.168.1.20是从ip,如果我简单通过socket建立连接,程序默认会以192.168.1.10进行通信,这样服务器端会拒绝,我应该如果写才能够解决这个问题呢?不好手动,要用程序自动实现方便的话给个代码吧!谢谢!
我的客户端要通过socket与服务器端进行通信,可是客户端服务器上是双ip地址(比方是192.168.1.10和192.168.1.20),可是服务器端只允许192.168.1.20进行通信,进行了ip限制,在客户端上192.168.1.10是主ip,192.168.1.20是从ip,如果我简单通过socket建立连接,程序默认会以192.168.1.10进行通信,这样服务器端会拒绝,我应该如果写才能够解决这个问题呢?不好手动,要用程序自动实现方便的话给个代码吧!谢谢!
解决方案 »
- 有谁知道CSDN软件的QQ群?
- 多线程里使用委托的问题(listview控件显示),C#环境
- datagridview导入到Oracle数据库
- 调用WCF时报错:configuration section cannot be created
- 新手提问
- @$@$@$@$@$$@ 请教WinForm程序的打包问题 @$@$@$@$@$$@
- 怎样在wpf多点触控系统中浏览office,顶者有分!
- 如何合并两个word文件,火急
- 调用无返回值的webservice报错,请大神指教啊!!!
- 想跳槽,大家帮个忙啊!
- windows forms程序 界面问题
- 学完S1了,做阶段项目,请问下项目需求怎么写呀?
Socket(InetAddress address, int port, InetAddress localAddr, int localPort) throws IOException
Socket(String host, int port, InetAddress localAddr, int localPort) throws IOException 如果一个主机同时属于两个以上的网络, 它就可能拥有两个以上的IP 地址. 例如, 一个主机在Internet 网络中的IP 地址为 "222.67.1.34", 在一个局域网中的IP 地址为 "112.5.4.3". 假定这个主机上的客户程序希望和同一个局域网的一个服务器程序(地址为:"112.5.4.45: 8000")通信, 客户端可按照如下方式构造Socket 对象: InetAddress remoteAddr1 = InetAddress.getByName("112.5.4.45");
InetAddress localAddr1 = InetAddress.getByName("112.5.4.3");
Socket socket1 = new Socket(remoteAddr1, 8000, localAddr1, 2345); //客户端使用端口2345
=========================================
哪位网友帮忙下把上面两段java的源码译成C#的。多谢了
远端ip可以的呀。只是本地电脑在多个网络中,不知道如何实现通过基中的某个ip访问远端服务器了
什么异常,具体代码如何?实际操作就是那样的,先调用Socket.Bind(EndPoint localEP)方法,然后调用Socket.Connect(EndPoint remoteEP),从参数名你应该可以看得出来,Bind是绑定了本地IP信息,而Connect是绑定了远程IP信息。
System.Net.Sockets.SocketException: 通常每个套接字地址(协议/网络地址/端口)只允许使用一次。 这个错误呀。看来真不能绑定了
这个异常是是不是无法解决呀?
Connect远程端口是可以绑定的。
然后新建另一个Socket,重用刚才的Socket
然后连接即可。
你好。我就是这样做的呀。可还是报错呀。
在连接前bind呢
//在上面这行下面添加
socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true);你好。加了这行还是一样报错的呢