我花了两天时间试图解决这个问题而且我很难过.我有一个在Windows上作为服务运行的WCF服务器.客户端可以在同一台机器上连接到它,但是一旦我移动尝试连接到另一台机器上的服务我就不能.
因此,如果客户端和主机在同一台机器上,没有问题.如果主机和客户端位于不同的计算机上,则会出现异常错误.
这是奇怪的部分,我可以使用svcutil从远程机器生成app config和proxy.cs文件,但是一旦我调用该函数就会发出错误.
无法连接到net.tcp:// ipaddress:port/Service1.TCP错误代码10061.无法建立连接,因为目标计算机主动拒绝它.
如果我从同一台机器主机/客户端调用它没有错误.
有任何想法吗?
更新:
这是服务端点设置.
<system.serviceModel>
<services>
<service behaviorConfiguration="Service1Behavior" name="WcfServiceLibrary1.Service1">
<endpoint address="net.tcp://192.168.1.75:8523/Service1" binding="netTcpBinding"
contract="WcfServiceLibrary1.IService1" />
<endpoint address="net.tcp://192.168.1.75:8523/mex" binding="mexTcpBinding"
contract="IMetadataExchange" />
<host>
<baseAddresses>
<add baseAddress="net.tcp://192.168.1.75:8523/" />
</baseAddresses>
</host>
</service>
</services>
<bindings>
<netTcpBinding>
<binding name = "TcpBindingConfiguration">
<security mode="None"/>
</binding>
</netTcpBinding>
</bindings>
<behaviors>
<serviceBehaviors>
<behavior name="Service1Behavior">
<serviceMetadata />
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
Run Code Online (Sandbox Code Playgroud)
我尝试了一切.
有任何想法吗?
再次是客户端和主机在同一台机器上一切都很好,只要我把客户端放在另一台计算机上,没有骰子......
白天我从未对网络编程感到头疼...
谢谢
我有一个foreach循环,它将遍历一个数组,但该数组可能不存在,具体取决于此特定应用程序的逻辑.
我的问题与我猜的最佳做法有关,例如,可以这样做:
if (isset($array))
{
foreach($array as $something)
{
//do something
}
}
Run Code Online (Sandbox Code Playgroud)
这对我来说似乎很混乱,但在这种情况下,如果我不这样做,它就会在foreach上出错.我应该传递一个空数组?我没有发布特定代码,因为它是关于处理可能设置或未设置的变量的一般问题.
我有一个字符串,"004-034556"我想分成两个字符串:
string1="004";
string2="034556";
Run Code Online (Sandbox Code Playgroud)
这意味着第一个字符串将包含之前的字符'-',第二个字符串将包含之后的字符'-'.我还想检查字符串是否包含'-'在其中.如果没有,我会抛出异常.我怎样才能做到这一点?
我正在寻找一种在C++和Lua之间来回传输变量地址的方法.例如,将对象从C++传输到Lua并进行一些处理,然后将其传回C++.
但是,问题是如何从Lua执行C++函数或方法?或者需要解决方法吗?
如果可能的话,您是否可以添加一个代码段来向我展示它是如何完成的?
我知道我还没有完全理解整个画面,所以如果有什么不妥,请纠正我.
我已经在这个问题上敲了一会儿,我想出来了.我想回馈社区,因为我从这个网站得到了很多帮助:).
我正在尝试将一个项目从一个UITableView复制到另一个UITableView,我在网上看到的关于如何做到这一点的信息充其量是粗略的.我自己想出来,所以我会描述我的小建筑.
我在UITableView中的person对象是我想要从一个表拖放到另一个表中的对象.我最困难的想法是如何将物品从桌子中弹出并以一个平滑的动作拖动它.在最长的时间内,为了执行操作,我需要两次触摸.
从Person对象开始,这是一个包含图像的简单对象.我必须实现自己的touchesMoved方法,以便在发生拖动时更改Person的中心位置.
-(void) touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event{
if( m_moveable == YES ){
UITouch *touch = [touches anyObject];
CGPoint location = [touch locationInView:self.superview];
if( 0 < location.x-50 && location.x+50 < 768 ){
if( 0 < location.y-50 && location.y+150 < 1004 ){
self.center = location;
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我在初始化时将Person对象的userInteractionEnabled标志设置为NO,这样表中的任何单击都不会被Person对象捕获.在这种情况下,Person对象将在表中移动,这违背了目的.
下一个对象是我的自定义UITableViewCell.该对象负责捕获用户的第一次触摸.它应该做的是抓住这个触摸并"弹出"这个人.Person是属于自定义UITableViewCell的子视图之一.
- (void) touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
UIView *parent = self.superview.superview.superview;
Person *s = nil;
for( UIView *child in self.subviews ){
if( …Run Code Online (Sandbox Code Playgroud) 我想在Swing中做一件事,希望我能说得足够清楚。
我想根据扩展名显示用户与该特定文件关联的带有图标的文件列表。但是,我希望在程序中生成此文件列表 - 我的意思是:显示的文件图标将不是文件夹中的实际文件(因此我无法使用JFileChooser)。
有什么可以帮助我解决这个问题吗?
tokens_raw = {"foo": "bar"}
tokens_raw_old = { }
while not tokens_raw == tokens_raw_old:
tokens_raw_old = tokens_raw
# while loop that modifies tokens_raw goes here;
# tokens_raw_old is never referenced
print tokens_raw_old == tokens_raw
Run Code Online (Sandbox Code Playgroud)
由于某种原因,这在第一次之后输出True.tokens_raw_old具有相同的数据tokens_raw,即使在tokens_raw单独修改后也是如此.我是否在某个地方犯了一个愚蠢的错误,或问题是否在第二个while循环中(再次,从未引用过tokens_raw_old)?如果没有明显的错误,我会发布更多代码.
调用Thread.join会阻塞当前(主)线程.但是,当主线程退出时,不会调用join会导致所有生成的线程被杀死.如何在不阻塞主线程的情况下在Ruby中生成持久子线程?
这是加入的典型用法.
for i in 1..100 do
puts "Creating thread #{i}"
t = Thread.new(i) do |j|
sleep 1
puts "Thread #{j} done"
end
t.join
end
puts "#{Thread.list.size} threads"
Run Code Online (Sandbox Code Playgroud)
这给了
Creating thread 1
Thread 1 done
Creating thread 2
Thread 2 done
...
1 threads
但我正在寻找如何得到这个
Creating thread 1
Creating thread 2
...
101 threads
Thread 1 done
Thread 2 done
...
代码在Ruby 1.8.7和1.9.2中提供相同的输出
从2.4(类的2.6)开始,python允许你用另一个函数来装饰一个函数:
def d(func): return func
@d
def test(first): pass
Run Code Online (Sandbox Code Playgroud)
这是一种方便的语法糖.您可以使用装饰器做各种各样的整洁的东西,而不会弄乱.但是,如果你想找出装饰的原始功能,你必须跳过箍(喜欢Cls.method.__func__.__closure__[0].cell_contents或更糟).
我发现自己希望有一个更好的方法,并发现在python-dev上有一些关于添加一个变量的讨论,该变量被称为__decorated__装饰器返回的[new]函数.然而,似乎没有去任何地方.
作为一个冒险的人,并且有大约4年的相当重的python经验,我想我会考虑__decorated__在python编译器源中实现,只是为了看看它是怎么回事.
说实话,我从来没有钻研过引擎盖下的C,所以我的第一个小时就是试图弄清楚底层C代码是如何工作的.首先,什么是最好的资源来了解我必须改变/添加的内容__decorator__?
其次,如果装饰器返回一个新函数,那么__decorated__只返回原始的装饰函数.但是,如果装饰器返回原始函数,会发生什么?以下是我能想到的三个选项(第三个是我最喜欢的):
__decorator__.__decorator__但将其设置为无.__decorator__无论如何,添加并将其设置为原始功能.所以,如果它发生了,你认为最好的选择是什么?
更新:
其他人提请我注意我错过的情景.当装饰器既不返回原始函数也不返回包装原始函数的函数时会发生什么?那时没有任何东西持有对原始函数的引用,它将被垃圾收集.(感谢Oddthinking!)
那么在那种情况下,我认为我仍然会选择第三种方案.装饰器返回的对象将获得一个__decorated__引用原始函数的名称.这意味着它不会被垃圾收集.
对我来说,类定义中的函数完全消失是因为你装饰它,这似乎很奇怪.在我看来,更有理由__decorated__为每个装饰者申请一个属性.然而,我的直觉更有可能是错误的,并且当前的行为是大多数人所期望的. 有什么想法吗?
python ×3
java ×2
c ×1
c# ×1
c++ ×1
decorator ×1
equality ×1
ios ×1
lua ×1
mmo ×1
multiplayer ×1
objective-c ×1
parsing ×1
php ×1
pointers ×1
ruby ×1
scripting ×1
string ×1
swing ×1
touches ×1
uitableview ×1
variables ×1
wcf ×1
wcf-client ×1
while-loop ×1