我正在尝试使用Windows 7上的Python 2.6.5创建自定义TCP堆栈,以在本地端口80上提供有效的http页面请求.但是,我遇到了似乎Windows 7收紧安全性的问题.此代码适用于Vista.
这是我的示例代码:
import SocketServer
import struct
class MyTCPHandler(SocketServer.BaseRequestHandler):
def handle(self):
headerText = """HTTP/1.0 200 OK
Date: Fri, 31 Dec 1999 23:59:59 GMT
Content-Type: text/html
Content-Length: 1354"""
bodyText = "<html><body>some page</body></html>"
self.request.send(headerText + "\n" + bodyText)
if __name__ == "__main__":
HOST, PORT = "localhost", 80
server = SocketServer.TCPServer((HOST, PORT), MyTCPHandler)
server.serve_forever()
Run Code Online (Sandbox Code Playgroud)
C:\ python> python TestServer.py Traceback(最近一次调用最后一次):
文件"TestServer.py",第19行,在server = SocketServer.TCPServer((HOST,PORT),MyTCPHandler)文件"C:\ Python26\lib\SocketServer.py",第400行,在init self.server_bind()文件"C:\ Python26\lib\SocketServer.py",第411行,在server_bind中自我.socket.bind(self.server_address)文件"",行1,在绑定中socket.error:[Errno 10013]尝试以其访问权限禁止的方式访问套接字
我究竟如何在Windows 7上使用它?
[编辑于2010年5月5日@ 2344 PDT]此答案解释了该错误是由于在访问低于1024的端口时需要提升/超级用户权限.我将尝试使用更高的端口号来查看是否存在作品.但是,我仍然想知道为什么我的本地管理员帐户无法访问端口80.
我有一个在NT 5.x,Vista和Windows 7下运行良好的安装程序.它包含适用于NT 6.x上UAC的清单.
但是从Windows 7 RC开始,每次安装程序关闭时,Windows都会产生错误的"此程序可能没有正确安装"消息,即使程序安装正确且没有任何问题.我从来没有在Vista或Windows 7 beta中收到这些虚假消息.
我向微软发送了一个错误报告,但没有收到回复.我认为这可能只是Windows 7 RC中的一个小故障,但问题仍然存在于最新的RTM-escrow版本之一被泄露的新安装中.微软没有任何关于此的文档 - 甚至没有暗示可能触发它的内容.
更令人沮丧的是,我得到了这个"这个程序可能没有正确安装"的消息,即使我在任何安装代码之前在第一个你确定要进行的屏幕上取消安装(创建)一个临时目录,提取文件,复制,注册表等)是永远运行.
有人想过这个吗?
我正在编写Java applet并将其嵌入到网页中.它曾经在不同的浏览器中运行Mac和Windows而没有任何问题.我在Mac上使用NetBeans来构建applet使用的.jar文件.
出于某种原因,我决定在Windows的NetBeans上加载项目 - 当从任何浏览器访问网页时,我开始在Windows机器上收到以下错误:
java.lang.ClassFormatError: Incompatible magic value 1008813135 in class file
Run Code Online (Sandbox Code Playgroud)
由于担心我一直决定在Windows上打开导致此错误的项目 - 我尝试使用Mac的NetBeans进行构建 - 但错误仍然存在.
我在Mac上开始了一段时间的新项目并导入了现有的源代码:仍然是同样的问题.
我正在阅读有关此错误的一些内容,似乎预期的幻数是十六进制的0xCAFEBABE,即十进制的3405691582,而不是1008813135.所以看起来Mac版的Java不再生成这个文件头?锄头可以吗?我没有做任何更新或任何事情.
我创建了一个支持手机和平板电脑版本的应用程序,因此我使用了android-support-v4.jar库.
我的活动扩展了ListFragment,我试图覆盖onCreateOptionsMenu(菜单菜单,MenuInflater inflater),如下面的链接:http://developer.android.com/resources/samples/Support4Demos/src/com/example/android/ supportv4 /应用程序/ FragmentMenuSupport.html
我以前称之为setHasOptionsMenu.
不幸的是,似乎我无法覆盖onCreateOptionsMenu().
这是错误消息:
MyFragment类型的onCreateOptionsMenu(Menu菜单,MenuInflater inflater)方法必须覆盖或实现超类型方法.
我这样做是为了:
Public class MyFragment extends ListFragment
Run Code Online (Sandbox Code Playgroud) 我只是使用Android SDK Manager将Android SDK工具更新到版本17,将Android兼容性更新到版本7.现在,我已经运行了很长时间的程序在启动时崩溃了.
缩小问题范围,我创建了一个新的空白项目,将android-support-v4.jar添加到构建路径,并将Activity更改为FragmentActivity,这就是全部.现在它崩溃了.
错误消息是:
java.lang.ClassNotFoundException: com.example.test.TestActivity in loader dalvik.system.PathClassLoader[/data/app/com.example.test-2.apk]
Run Code Online (Sandbox Code Playgroud)
代码是:
package com.example.test;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
public class TestActivity extends FragmentActivity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}
Run Code Online (Sandbox Code Playgroud)
其他所有内容(包括清单)与默认值相同.任何帮助深表感谢!
编辑:清单包括:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.test"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="9" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:name=".TestActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
Run Code Online (Sandbox Code Playgroud) gcc (GCC) 4.7.2
Run Code Online (Sandbox Code Playgroud)
你好,
我正在创建一个将在linux上编译的共享库和一个将在Windows上使用相同的源代码编译的DLL.所以我正在为linux和windows创建一个可移植的库.
在我的库头文件中是这个,即module.h
#ifdef __cplusplus
extern "C" {
#endif
#ifdef _WIN32
#define LIB_INTERFACE(type) EXTERN_C __declspec(dllexport) type
#else
#define LIB_INTERFACE(type) type
#endif
LIB_INTERFACE(int) module_init();
#ifdef __cplusplus
}
#endif
Run Code Online (Sandbox Code Playgroud)
在源代码中我有以下即module.c
#include "module.h"
LIB_INTERFACE(int) module_init()
{
/* do something useful
return 0;
}
Run Code Online (Sandbox Code Playgroud)
在我的测试应用程序中将链接并使用此模块.所以我有这个:
#include "module.h"
int main(void)
{
if(module_init() != 0) {
return -1;
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
1)我上面所做的是为linux和windows创建可移植库的正确实现吗?
2)我只是想知道我已经包装了函数,extern "C"以便可以从用C++编译的程序调用该库.我是否还需要EXTERN_C以下内容:
#define LIB_INTERFACE(type) EXTERN_C __declspec(dllexport) type
Run Code Online (Sandbox Code Playgroud)
3)目的是EXTERN_C什么?
提前谢谢了,
我应该在网页设计中使用Tahoma吗?如果我不能选择任何不同的东西(即因为设计师在他的设计中使用它),我可以在CSS样式表中制作一堆替换字体吗?
据我所知,不可能链接使用不同版本的GCC应用程序二进制接口(ABI)的库.是否对每个版本的GCC都进行了ABI更改?如果我使用GCC 4.3.2,是否可以链接使用4.3.1构建的库?是否有某种矩阵列出了我可以组合GCC版本的所有方法?
我们有一些遗留的HTML内容,我们必须在兼容模式下呈现.这些要求来自我们的客户,他们希望他们的基于HTML的报告(其中一些是在IE6天内创建的)无论浏览器版本或底层技术如何都能完全相同地查看和打印.与此同时,我们希望将标准模式和HTML5用于我们的其他网络应用程序.
一个明显的解决方案是以<iframe>兼容模式托管旧内容.以下似乎跨浏览器工作:
main.html(在标准模式下):
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<title></title>
<style type="text/css">
body {
font-family: Arial;
font-size: 9pt;
font-style: italic;
font-weight: bold;
}
</style>
<script type="text/javascript">
window.onload = function () {
info.firstChild.data = "document.compatMode: " + document.compatMode;
// test frame's HTML5 API: document.getSelection()
setInterval(function () {
var selection = document.getElementById("contentFrame").contentDocument.getSelection();
var selectedNode = selection.focusNode;
if (selectedNode)
info2.firstChild.data = "Selected node: " + selectedNode.nodeName + ", offset: " + selection.focusOffset;
else
info2.firstChild.data = "";
}, 500); …Run Code Online (Sandbox Code Playgroud) 我在Python 3中遇到了奇怪的eval行为 - 当在列表推导中调用eval时,不会拾取局部变量.
def apply_op():
x, y, z = [0.5, 0.25, 0.75]
op = "x,y,z"
return [eval(o) for o in op.split(",")]
print(apply_op())
Run Code Online (Sandbox Code Playgroud)
它在Python 3中出错:
? python --version
Python 3.4.3
? python eval.py
Traceback (most recent call last):
File "eval.py", line 7, in <module>
print(apply_op())
File "eval.py", line 5, in apply_op
return [eval(o) % 1 for o in op.split(",")]
File "eval.py", line 5, in <listcomp>
return [eval(o) % 1 for o in op.split(",")]
File "<string>", line 1, in <module>
NameError: …Run Code Online (Sandbox Code Playgroud) compatibility ×10
android ×2
c++ ×2
python ×2
abi ×1
applet ×1
c ×1
crash ×1
fonts ×1
fragment ×1
gcc ×1
html ×1
html5 ×1
iframe ×1
installation ×1
java ×1
javascript ×1
overriding ×1
python-3.4 ×1
python-3.x ×1
sockets ×1
socketserver ×1
windows ×1
windows-7 ×1