我在"A"计算机上运行我的脚本,然后通过我的脚本从"B"计算机连接到"A"计算机.我将消息发送到计算机"A",我的脚本使用'exec()'指令运行它.
我希望通过"B"计算机上的套接字在"A"计算机上看到执行结果我的消息.我尝试更改sys.stdout = socket_response但有错误:"Socket对象没有属性write()"
那么,我如何通过套接字连接将标准输出(用于print或exec())从"A"计算机重定向到"B"计算机."
它将成为我脚本中的某种"python解释器".
抱歉,我无法回答我自己的问题
谢谢大家!
我用简单的方法,告诉我@Torxed.这是我的猴子代码(这只是一个例子,不是我的真实脚本)
#-*-coding:utf-8-*-
import socket
import sys
class stdout_():
def __init__(self, sock_resp):
self.sock_resp = sock_resp
def write(self, mes):
self.sock_resp.send(mes)
MY_IP = 'localhost'
MY_PORT = 31337
srv = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
print("Start server")
old_out = sys.stdout
srv.bind((MY_IP, MY_PORT))
srv.listen(0)
sock_resp, addr_resp = srv.accept()
new_out = stdout_(sock_resp)
sys.stdout = new_out
#sys.stdout = sock_resp ### sock_object has no attribute 'write'
while 1:
try:
a = sock_resp.recv(1024)
exec(a)
except socket.timeout:
#print('server timeout!!' + '\n')
continue
Run Code Online (Sandbox Code Playgroud)
我用Putty连接脚本并发送"print'abc'"然后我收到回答'abc'
我有一节课:
class Options
{
// Remainder omitted (verb1, verb2, verb3)
[HelpVerbOption]
public string GetUsage(string verb)
{
return HelpText.AutoBuild(this, verb);
}
}
Run Code Online (Sandbox Code Playgroud)
在本文档中(在最后一部分中)说:
...如果用户请求帮助索引,解析器也会将null传递给主类GetUsage(字符串):
$ git帮助
或者如果用户明确请求如何使用特定动词的说明,则使用verb命令:
$ git help commit
...
我尝试输入类型:MyApp.exe help verb1但只能看到基本帮助(好像我输入了错误的动词,help动词或其他内容).但我希望看到与指定动词相关的帮助消息.为什么它不起作用?
在您的应用程序中,它的功能是否正常工作?
当一些麻烦出现时,我试图学习"莉娜对新手的逆转".我用ollyDbg启动Pixtopian Book,然后尝试使用带有uregistered版本消息的MessageBox.然后我切换到OllyDbg,停止程序执行并按"Alt + F9"进入"返回用户模式",在程序退出DLL后停止程序.
但是在这个程序不起作用之后,它被冻结了,并且不响应我的行为.如果我关闭"返回用户模式"程序正常工作.
有什么问题?我可以尝试在IDA(使用WinDbg)或其他一些调试器中使用"返回用户模式",我该怎么做?我可以在OllyDbg修复它的功能吗?
PS就像程序停止使用"ALT + F9"后没有运行.
/ 抱歉我的英语,我只是在学习;-) /
我需要为简单的游戏创建一个字段.在第一个版本中,该字段就像 Point[,]- 二维数组.
现在我需要使用System.Collections.Immutable(这是重要的条件).我试图谷歌,找不到任何东西,这可以帮助我.我不明白我怎么能创建二维的ImmutableArray(或ImmutableList)?
我做了一些假类,它应该与原始类具有相同的行为。原始类有时会抛出 WebExceptions(StatusCode来自服务器的响应)。
我想在没有任何联系的情况下重复这种行为。那么,我如何创建new WebException(..., ..., ..., ...)所需的StatusCode
我是Linux上的新手,所以我遇到了很多麻烦.
我想在我的Qt Project(C++)中使用curl.我创建了项目,然后在main.cpp中写入
#include <curl/curl.h>
int main( void ){
CURL *curl;
/* First step, init curl */
curl = curl_easy_init();
if (!curl) {
return -1;
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我尝试编译该代码,但有一个错误:未定义引用'curl_easy_init()'比我意识到,QT Creator想知道库的路径.我打开test.pro文件并附加:
INCLUDEPATH += /usr/lib/x86_64-linux-gnu/
LIBS += /usr/lib/x86_64-linux-gnu/libcurl.a
LIBS += /usr/lib/x86_64-linux-gnu/libcurldll.a
Run Code Online (Sandbox Code Playgroud)
然后错误:libcurlldll.a没有这样的文件或dirrectory.绝对一个没有这个库,但我尝试安装/重新安装所有类型的libcurl,它不起作用.
网站,我试图搜索信息:
http://www.cplusplus.com/forum/general/89488/
请将我重定向到非常简单的指南"如何在Debian的QT Creator中使用libcurl"或类似的东西.我需要一步一步的指导.或者你可以在那里写给我,那么每个人都可以使用它吗?
抱歉我的英语,我只是在学习.谢谢!
我只有公共字符串属性的简单类.
public class SimpleClass
{
public string Field1 {get; set;}
public string Field2 {get; set;}
public string Field3 {get; set;}
public List<SimpleClass> Children {get; set;}
public bool Equals(SimpleClass simple)
{
if (simple == null)
{
return false;
}
return IsFieldsAreEquals(simple) && IsChildrenAreEquals(simple);
}
public override int GetHashCode()
{
return RuntimeHelpers.GetHashCode(this); //Bad idea!
}
}
Run Code Online (Sandbox Code Playgroud)
对于相等的实例,此代码不返回相同的值.但是这个类没有用于计算哈希的只读字段.
GetHashCode()如果我的所有属性都是可变的,我怎样才能生成正确的哈希值.