下面是我遇到套接字编程问题的代码片段.在选择调用之后,如果我没有在第9行上睡眠,在Windows XP上,第11行接收到1个字节(而不是从服务器发送4个字节作为整数),当我检查xmlSize时,它被设置为0.因为iResult是1,所以执行继续,并且在第15行第二次接收被调用xmlSize = 0,并且iResult被设置为0,之后因为iResult = 0连接被关闭.
但是在Windows 7上没有发生这种情况,程序很乐意读取4个字节并继续正常执行.然而在XP上,我睡了一觉(我刚刚做了这个)并且它有效,但为什么?
这段代码的缺陷是什么?
1 while(is_running())
2 {
3 FD_ZERO(&readfds);
4 FD_SET(server_socket, &readfds);
5 iResult = select(server_socket+1, &readfds, NULL, NULL, &tv);
6 if (!(iResult != SOCKET_ERROR && FD_ISSET(server_socket, &readfds) )) {
7 continue;
8 }
9 Sleep(500); // This Sleep is not required on Windows 7, but is required on 10 XP but WHY?
11 iResult = recv(server_socket, (char *)&xmlSize, sizeof(xmlSize), 0);
12 xmlSize = htonl(xmlSize);
13 if ( iResult > 0 ){ …Run Code Online (Sandbox Code Playgroud) $(function(){
$(".test").each(function(){
test();
});
});
function test(){
$(this).css("border","1px solid red").append(" checked");
}
Run Code Online (Sandbox Code Playgroud)
为什么这不起作用?我错过了什么?这是我的测试html:
<p>test</p>
<p>test</p>
<p class="test">test</p>
<p>test</p>
Run Code Online (Sandbox Code Playgroud) 假设我想将我最喜欢的一个webcomics的最新漫画嵌入我的网站作为一种促销.webcomic在带有id的div里面有条带,所以我想我可以在我的网站中嵌入div,除了我找不到任何代码示例如何做(它们都显示如何嵌入flash或整个网站).有人可以告诉我(或告诉)它是如何完成的吗?
PS我宁愿不使用服务器端脚本或外部服务(这是通常建议用于嵌入RSS).
我有一个表'门票'与以下列
当我要做的时候,SELECT *我想要status = 4顶部的行,其他记录将跟随它们.它可以通过以下查询来实现:
select * from tickets order by status=4 DESC
Run Code Online (Sandbox Code Playgroud)
这个查询可以通过Django ORM执行吗?应该将哪些参数传递给QuerySet.order_by()方法?
我目前有一个运行正常的服务,但是当我尝试使用stopService方法停止它时,它的onDestroy方法不会被调用.
这是我用来尝试停止服务的代码
stop_Scan_Button =(Button)findViewById(R.id.stopScanButton);
stop_Scan_Button.setOnClickListener(new View.OnClickListener(){
public void onClick(View v){
Log.d("DEBUGSERVICE", "Stop Button pressed");
Intent service = new Intent(CiceroEngine. CICERO_SERVICE);
releaseBind();
Log.d("Stop_Scan_Button", "Service: " + service.toString());
stopService(service);
Log.d("Stop_Scan_Button", "Service should stop! ");
}
});
Run Code Online (Sandbox Code Playgroud)
我是否正确地认为当使用stopService时它会调用服务的onDestroy方法?当我按下停止扫描按钮时onDestroy(),我的服务中的方法不会被调用.
还有什么我错过了我应该停止服务吗?
编辑:添加onServiceConnected()在运行stopService时调用的调用onServiceDisconnected(),为什么会发生这种情况?
编辑:添加更多信息关于绑定
我在onCreate()方法中调用bindService,然后让releaseBind()方法取消绑定服务.
以下是该方法的代码:
public void releaseBind(){
unbindService(this);
}
Run Code Online (Sandbox Code Playgroud)
所以我认为解除绑定不是我的问题?
我已经忙了很长时间了解如何在HelloMapView中在地图上的两个(GPS)点之间画一条线,但没有运气.
有人可以告诉我该怎么做.
假设我使用扩展MapView的HelloMapView.我需要使用叠加层吗?如果是这样,我必须重写覆盖的onDraw()方法并在这里画一条线?我实际上尝试过这些东西,但没有结果.
先感谢您!
Java EE中的计时器任务不是很舒服.是否有任何util,用cron语法配置定时器,如"0 20 20**"?
我想知道,如果这是一个使用Quartzinside(集群)Java EE应用程序的好方法.根据http://www.prozesse-und-systeme.de/serverClustering.html(德语页面),Quartz和Java EE集群存在限制:
我更喜欢一种更简单的方法来配置计时器服务,而不是Java EE管理的调度程序.
使用PHP的time()函数的时间戳,我用date()向用户显示当前时间.
格式:H:i => 13:57
但有时似乎有时间飞跃.当我访问该页面时,我的Windows时钟显示为13:40.但我的网站说14:XX.我不知道确切的时间了.
另一个例子:用户访问了"谁在线?"页面 在00:16 列出的用户的最后一次操作时间为00:39.在每次页面加载时,最后一个操作时间将写入数据库.因此,time()函数必须在00:16返回00:39,并且必须将错误的值写入数据库.
怎么会发生这种情况?
非常感谢您的帮助 :)
编辑#1我已将代码缩减为对此问题很重要的部分:
我在serverData.php中将时间戳保存为$ tStamp = time()的新变量,此文件包含在index.php中,其中我向用户显示日期时间('dmY,H:i',$ tStamp) .变量$ tStamp在任何其他行中都不会更改.
编辑#2我网站上的用户在2010-01-21 00:16注意到错误的时间,页面显示00:39很短的时间.我已经查看了日志文件,大约在这个时间内,日志文件中缺少一个完整的小时:
127.0.0.1 - - [20/Jan/2010:23:34:53 +0100] ......
127.0.0.1 - - [20/Jan/2010:23:34:55 +0100] ......
127.0.0.1 - - [21/Jan/2010:00:38:41 +0100] ......
127.0.0.1 - - [21/Jan/2010:00:38:41 +0100] ......
我的主人公布了2010-01-20 00:00-06:00的维护工作.你认为维修被挫败了吗?是否可以在这段时间内第二天进行维护工作?这样的工作会让时间错吗?
编辑#3最后,我有一个来自我的主机的答案:)在给定的时间段内,服务器崩溃了.因此,手表/时钟停止了.就是这么简单,但我没想到服务器崩溃.非常感谢大家!
我试图在任一轴上绘制一个没有刻度线或数字的图形(我使用传统意义上的轴,而不是matplotlib命名法!).我遇到的一个问题是matplotlib通过减去值N来调整x(y)ticklabels,然后在轴的末尾添加N.
这可能是模糊的,但下面的简化示例突出了问题,'6.18'是N的违规值:
import matplotlib.pyplot as plt
import random
prefix = 6.18
rx = [prefix+(0.001*random.random()) for i in arange(100)]
ry = [prefix+(0.001*random.random()) for i in arange(100)]
plt.plot(rx,ry,'ko')
frame1 = plt.gca()
for xlabel_i in frame1.axes.get_xticklabels():
xlabel_i.set_visible(False)
xlabel_i.set_fontsize(0.0)
for xlabel_i in frame1.axes.get_yticklabels():
xlabel_i.set_fontsize(0.0)
xlabel_i.set_visible(False)
for tick in frame1.axes.get_xticklines():
tick.set_visible(False)
for tick in frame1.axes.get_yticklines():
tick.set_visible(False)
plt.show()
Run Code Online (Sandbox Code Playgroud)
我想知道的三件事是:
如何首先关闭这种行为(虽然在大多数情况下它是有用的,但并不总是!)我已经查看了matplotlib.axis.XAxis,找不到任何合适的东西
怎么能让N消失(即X.set_visible(False))
还有更好的方法来完成上述任务吗?我的最终情节将是图中的4x4子图,如果这是相关的.
关于在用户控件中自动调整面板大小,我遇到了一个奇怪的问题.该面板固定在用户控件的所有4个侧面.但锚定并不总是如此:
如果通过调整窗体大小来调整用户控件的大小,则右侧和底部锚点不起作用.但是如果通过使用表单中的拆分器来调整控件的大小,则它可以正常工作.所有其他控件也受到调整大小正常工作的影响,只有这个面板不会这样做.
我看不出通过分割器和表单调整大小之间的区别.
仅在通过移动拆分器完成大小调整时,才能在UserControl的OnResize中手动设置大小.如果通过调整窗体大小来调整大小,则面板的高度和宽度将不会更改为新值.
编辑:更清楚:用户控件添加到TabPage并设置为Dock = DockType.Fill.
编辑2:使其更复杂:这是使用控件的层次结构:表单包含一个带有2个控件(A和B)的拆分器.(B)包含带有splitContainer的用户控件(C).(C)中的split container-> panel1包含tabcontrol(D).此tabcontrol(D)包含用户控件(E)(在标签页中).该用户控件(E)具有拆分容器(F),其中放置了具有tabControl(G)的另一个用户控件.此tabcontrol(G)具有tabpages,并且在此页面中是所描述的用户控件(H).
如果我将控件(H)直接放在拆分容器(C)中的面板上,一切正常.由于添加到splitcontainer或tabpage的所有控件都设置为docktype = fill,因此我无法理解为什么最后一个控件存在此问题.
Windows窗体框架中是否存在限制子控件数量的限制?
编辑:我上传了一个TestApplication,您可以使用它重现此问题. http://rapidshare.de/files/49092516/TestApplication.zip.html 它只在Vista下出现.Win XP和7正常工作...如果您调整窗体大小,带有"..."按钮的textBox将不会调整大小,但如果您通过垂直splitContainer调整大小,则它可以正常工作.
android ×2
python ×2
c# ×1
c++ ×1
controls ×1
cron ×1
django ×1
draw ×1
each ×1
embed ×1
function ×1
google-maps ×1
html ×1
java-ee-5 ×1
jquery ×1
matplotlib ×1
mysql ×1
orm ×1
overlay ×1
php ×1
plot ×1
recv ×1
scheduling ×1
select ×1
service ×1
sockets ×1
time ×1
timer ×1
timestamp ×1
winforms ×1