小编tut*_*ike的帖子

twisted.internet.error.CannotListenError:听不到任何:80:[Errno 13]权限被拒绝

我目前正在开发一个在mac os mountain lion上创建TCP服务器的项目.我写了一个名为Server.py的脚本

在这个python脚本中,我使用twisted来侦听端口80,如下所示:

reactor.listenTCP(80, factory)
reactor.run()
Run Code Online (Sandbox Code Playgroud)

我怎么会这样得到错误:

File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/twisted/internet/posixbase.py", line 436, in listenTCP
    p.startListening()
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/twisted/internet/tcp.py", line 641, in startListening
    raise CannotListenError, (self.interface, self.port, le)
twisted.internet.error.CannotListenError: Couldn't listen on any:80: [Errno 13] Permission denied.
Run Code Online (Sandbox Code Playgroud)

我在想是因为tcp.py脚本对admin用户有错误的权限?或者有没有办法设置端口<1024的权限?(要更改权限,它将如何影响此类服务器的安全性?)

任何更好的解决方案都是适用的.

macos tcp twisted

11
推荐指数
3
解决办法
6907
查看次数

使用c string发送多个空字符.ASCII装甲

如何使用C字符串包含多个空字符\ x00.

c ascii

3
推荐指数
1
解决办法
1085
查看次数

C中棘手的三元操作

 void calculate(){

  int x=3, y=3, z=1;

  printf("%d\n",z+=x<y ? 10:20 );

 }
Run Code Online (Sandbox Code Playgroud)

上面的代码打印21.

我明白,首先,程序将评估x <y => 0,然后z = z + 0 = 1,不应该程序打印10,因为1是另一种形式的true.

该程序明确选择了第二个选项,并将其增加到21,有人可以解释一下吗?

c ternary-operator

3
推荐指数
1
解决办法
531
查看次数

无法使用ld - Mac OS X链接目标文件

/*********
exit.asm
*/

[SECTION .text]

global _start


_start:
xor eax, eax
xor ebx, ebx
mov al, 1
int 0x80

//****************************
Run Code Online (Sandbox Code Playgroud)

首先,我使用nasm -f elf exit.asm生成目标文件.

然后我在我的Mac OS X 10.7上运行了以下"ld"命令,它有这些输出和警告,我试图在我的32位linux机器上运行它,一切都很顺利,请你解释为什么不会链接器在我的Mac上运行?

谢谢!

Alfred says: ld -o exiter exit.o
ld: warning: -arch not specified
ld: warning: -macosx_version_min not specified, assuming 10.7
ld: warning: ignoring file exit.o, file was built for unsupported file format ( 0x7f 0x45      0x4c 0x46 0x 1 0x 1 0x 1 0x 0 0x 0 0x 0 0x 0 0x 0 …
Run Code Online (Sandbox Code Playgroud)

c assembly shellcode

3
推荐指数
2
解决办法
1万
查看次数

如何在Mac OS X Mavericks上降级Perl

新发布的Mavericks已从其存储库中删除了已弃用的模块"Switch.pm".但是,我最近尝试构建AOSP源代码树,它以某种方式使用此模块生成"make-hash-tools.pl"

小牛队的perl版本为5.16.2,其前身Mountain Lion的版本为5.12.4.有没有办法降级我的Perl?

编译错误如下所示:

  Can't locate Switch.pm in @INC (@INC contains: /Library/Perl/5.16/darwin-thread-\ 
  multi-2level /Library/Perl/5.16 /Network/Library/Perl/5.16/darwin-thread-multi-2level\
  /Network/Library/Perl/5.16 /Library/Perl/Updates/5.16.2\
  /System/Library/Perl/5.16/darwin-thread-multi-2level /System/Library/Perl/5.16\
  /System/Library/Perl/Extras/5.16/darwin-thread-multi-2level \
  /System/Library/Perl/Extras/5.16 .) at external/webkit/Source/WebCore\
  /make-hash-tools.pl line 23.
Run Code Online (Sandbox Code Playgroud)

谢谢〜!

macos perl perl-module android-source osx-mavericks

3
推荐指数
1
解决办法
4834
查看次数

何时使用"."或" - >"运算符来访问属性或成员函数?

在C,C++和Objective-C中,我们可以使用.->访问值或函数.两者之间有什么区别或缺点?

c c++ objective-c

-1
推荐指数
1
解决办法
610
查看次数