我试图测量我正在编写的TCP服务器的速度,我注意到可能存在测量connect()调用速度的根本问题:如果我以非阻塞方式连接,请连接()操作在几秒钟后变得非常慢.以下是Python中的示例代码:
#! /usr/bin/python2.4
import errno
import os
import select
import socket
import sys
import time
def NonBlockingConnect(sock, addr):
#time.sleep(0.0001) # Fixes the problem.
while True:
try:
return sock.connect(addr)
except socket.error, e:
if e.args[0] not in (errno.EINPROGRESS, errno.EALREADY):
raise
os.write(2, '^')
if not select.select((), (sock,), (), 0.5)[1]:
os.write(2, 'P')
def InfiniteClient(addr):
while True:
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM, 0)
sock.setblocking(0)
sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
# sock.connect(addr)
NonBlockingConnect(sock, addr)
sock.close()
os.write(2, '.')
def InfiniteServer(server_socket):
while True:
sock, addr = server_socket.accept()
sock.close()
server_socket = socket.socket(socket.AF_INET, …Run Code Online (Sandbox Code Playgroud) 情况:自动生成的成员(例如MenuStrip项目)根据创建项目时输入的文本生成(自动生成的)名称.我最常见的情况是创建菜单条并通过输入文本添加菜单项(使用图形设计器).
由于我的GUI是希伯来语,所有这些成员都有一个包含希伯来语字符串的名称.像"(希伯来语文本)ToolStripItem"之类的东西.当我创建事件处理程序时,事件处理程序"继承"希伯来文本:"(希伯来语文本)ToolStripMenuItem_Click".
这实际上运行良好,IntelliSense对希伯来语文本没有问题,编译器也是如此.
问题是:我应该更改这些名称(或防止它们首先被创建)吗?保留这些名字可能带来的后果是什么?
编辑:澄清一下,当我说希伯来文时,我不是指用英文文字写的希伯来文,我指的是实际的希伯来文字.
我很难理解在创建表视图时如何更改列的宽度.
我知道你可以设置列的宽度,但这不是我想要做的.
比方说,我有2列,希望每列占据屏幕的一半.如何在不明确设置像素的情况下执行此操作,以便我的代码可以在多种屏幕尺寸上工作?
我需要我的用户输入一些像DF-DJSL这样的数据,所以我把它放在代码中:
theTextField.autocapitalizationType = UITextAutocapitalizationTypeAllCharacters;
Run Code Online (Sandbox Code Playgroud)
但不幸的是,发生的事情是CAPS中的第一个字母类型,但输入连字符后立即写入小写字母将是小写,然后其余返回CAPS因此产生这样的输出(除非用户在键入连字符后手动点击移位按钮):DF-dJSL
我怎样才能解决这个问题?
非常感谢
我正在尝试从网站获取数据 - xml.一切正常.
但是UIButton仍然被按下,直到返回xml数据,因此如果互联网服务出现问题,它就无法纠正,而且应用程序几乎无法使用.
这是电话:
{
AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
if(!appDelegate.XMLdataArray.count > 0){
[UIApplication sharedApplication].networkActivityIndicatorVisible = YES;
[appDelegate GetApps]; //function that retrieves data from Website and puts into the array - XMLdataArray.
}
XMLViewController *controller = [[XMLViewController alloc] initWithNibName:@"MedGearsApps" bundle:nil];
[self.navigationController pushViewController:controller animated:YES];
[controller release];
}
Run Code Online (Sandbox Code Playgroud)
它工作正常,但如何使视图按钮功能卡住.换句话说,我只是希望UIButton和其他UIButton能够在后台运行时起作用.
我听说performSelectorInMainThread但我不能正确地练习它
任何帮助表示赞赏:)
如何测试以查看某个类是否包含特定属性?
In [14]: user = User.objects.get(pk=2)
In [18]: user.__dict__
Out[18]:
{'date_joined': datetime.datetime(2010, 3, 17, 15, 20, 45),
'email': u'IloveDick@nwo.gov',
'first_name': u'',
'id': 2L,
'is_active': 1,
'is_staff': 0,
'is_superuser': 0,
'last_login': datetime.datetime(2010, 3, 17, 16, 15, 35),
'last_name': u'',
'password': u'sha1$44a2055f5',
'username': u'DickCheney'}
In [25]: hasattr(user, 'username')
Out[25]: True
In [26]: hasattr(User, 'username')
Out[26]: False
Run Code Online (Sandbox Code Playgroud)
我有一个奇怪的错误,其中显示的属性比我实际定义的要多.我想有条件地阻止这个.
例如
if not hasattr(User, 'karma'):
User.add_to_class('karma', models.PositiveIntegerField(default=1))
Run Code Online (Sandbox Code Playgroud) 我有xhr open()方法的问题.我的代码如下:
var xmlhttp=false;
if(!xmlhttp)
try
{
xmlhttp=new XMLHttpRequest();
}
catch(e)
{
xmlhttp=false;
}
function returnPage(url)
{
if(!xmlhttp)
return alert("Your browser doesn't seem to support XMLHttpRequests.");
xmlhttp.open("GET",url,true);
xmlhttp.onreadystatechange=function()
{
if(xmlhttp.readyState!=4) return;
if(!xmlhttp.status||xmlhttp.status==200)
alert(xmlhttp.responseText);
else
alert("Request failed!");
}; //onreadystatechange
xmlhttp.send(null);
}
Run Code Online (Sandbox Code Playgroud)
致电:
<a href='#' onclick="returnPage('http://www.something.com'); return false;">Link 1</a></p>
Run Code Online (Sandbox Code Playgroud)
我正在使用IE8(因为我正在构建Web切片),我收到错误"访问被拒绝".我在互联网上发现问题是XHR不能在不同的域中工作,但我使用了Firefox Add-on的代码,它运行正常.这个附加组件和"我的"代码(它们是相同的)都在调用同一页面.该附加组件如何访问而我的代码没有?
当使用jQuery UI自动完成 组合框时,我认为会有一个选项只强制基于列表的有效密钥条目.有没有办法不允许无效密钥,所以你只能在列表中输入有效的项目?另外,有没有办法设置组合框的默认值?
如果我的列表有(C#,Java,Python)
我可以开始输入"abcds." 它让我输入它.我想只允许有效的条目.
当我需要一个扩展现有类行为的新类的名称时,我通常很难为它提出一个名称.
例如,如果我有一个MyClass类,那么新类可以命名为MyClassAdapter,MyClassCalculator,MyClassDispatcher,MyClassParser,......
这个新名称当然应该代表类的行为,理想情况下与使用它的设计模式相同(Adapter,Decorator,Factory,...).但既然我们不过度使用设计模式,这并不总是解决方案:)
那么,你知道一个字典或一个常用词列表,我们可以用它来表示类的行为,包含对预期行为的简短描述吗?一些例子:replicator,shadow,token,acceptor,worker,mapper,driver,bucket,socket,validator,wrapper,parser,verifier,...
您还可以将此列表视为隐喻的备忘单,使用该备忘录可以更好地了解您的问题域.
我正在使用Google App Engine处理Paypal IPN消息,当我的servlet启动时,我使用以下行开始另一个流程来处理按摩:
public class PayPal_Monitor_Servlet extends HttpServlet
{
PayPal_Message_To_License_File_Worker PayPal_message_to_license_file_worker;
public void init(ServletConfig config) throws ServletException // Initializes the servlet.
{
super.init(config);
PayPal_message_to_license_file_worker=new PayPal_Message_To_License_File_Worker();
}
public void doGet(HttpServletRequest request,HttpServletResponse response) throws IOException
{
}
...
}
public class PayPal_Message_To_License_File_Worker implements Runnable
{
static Thread PayPal_Message_To_License_File_Thread;
...
PayPal_Message_To_License_File_Worker()
{
start();
}
void start()
{
if (PayPal_Message_To_License_File_Thread==null)
{
PayPal_Message_To_License_File_Thread=new Thread(this);
PayPal_Message_To_License_File_Thread.setPriority(Thread.MIN_PRIORITY);
PayPal_Message_To_License_File_Thread.start();
}
...
}
Run Code Online (Sandbox Code Playgroud)
但是"PayPal_Message_To_License_File_Thread = new Thread(this);" 导致以下错误:
javax.servlet.ServletContext log: unavailable
java.security.AccessControlException: access denied (java.lang.RuntimePermission modifyThreadGroup)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:355) …Run Code Online (Sandbox Code Playgroud) iphone ×2
.net ×1
android ×1
asynchronous ×1
dictionary ×1
django ×1
jquery ×1
keypress ×1
linux ×1
non-english ×1
nonblocking ×1
objective-c ×1
python ×1
reflection ×1
sockets ×1
tcp ×1
terminology ×1
uikeyboard ×1
vocabulary ×1