小编Ulr*_*rdt的帖子

TypeError:__ init __()缺少2个必需的位置参数:'client_socket'和'statusMessage'

import socket
import sys

class SimpleClient:
    def __init__(self, client_socket, statusMessage):
        self.client_socket = client_socket
        self.statusMessage = statusMessage

    def connectToServer(self):
        self.client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

        host  = 'cs5700sp15.ccs.neu.edu'
        port  = 27993

        remote_ip = socket.gethostbyname(host)

        try:
            self.client_socket.connect((remote_ip, port))
        except socket.error:
            print ('Connection failed')
            sys.exit()

        print ('Connection successful')

    def sendHelloMessage(self):
        """This funtion sends the initial HELLO message to the server"""
        nu_id = input('Enter your NUID: ')
        hello_message = 'cs5700spring2015 HELLO {}\n'.format(nu_id)
        self.client_socket.send(bytes(hello_message, 'ascii'))

    def receiveStatusMessage(self):
        """This function receives the STATUS message from the server"""
        self.statusMessage …
Run Code Online (Sandbox Code Playgroud)

python

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

在C API中定义的类型如何将它与命名空间中的C++类相关联?

所以我们在CAPI.h中(没有实现)

struct Message;
typedef struct Message Message;
Run Code Online (Sandbox Code Playgroud)

我们有一个CPP_API.h

namespace Bla {
  struct Message {};
}
Run Code Online (Sandbox Code Playgroud)

如何Bla::MessageMessageC API中定义的关联?换句话说,要Bla::Message成为MessageC头中定义的实现?

c c++ implementation

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

内核如何将线程与进程分开

假设我有一个像Firefox这样的浏览器进程,它有pid = 123. Firefox有5个打开的标签,每个标签都运行在一个单独的线程中,因此它总共有5个线程.

  1. 所以我想深入了解内核如何将进程分离到线程中以struct task_struct在thread_info中执行.

  2. Like struct task_struct是任务列表的任务描述符.哪里struct task_struct包含引用或这五个线程的链接.

  3. struct thread_struct像Firefox这样的进程是否包含对所有5个线程的引用

    要么

    每个线程都被视为Linux内核中的进程.

linux multithreading linux-kernel

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

通用观察者模式

我正在使用代码,它有很多观察者模式实现.所有这些都以这样的方式组织:

一些接口由观察者实现:

class ObserverInterface {
  virtual void FooOccurs() = 0;
};
Run Code Online (Sandbox Code Playgroud)

一些实现注册,取消注册和通知的类:

class ObservableImpl {
  public:
    Register(ObserverInterface *observer);
    Unregister(ObserverInterface *observer);

  private:
    void SomeMethod() {
      // foo things
      for(auto &observer: observers) {
        observer.FooOccurs();
      }
    }
};
Run Code Online (Sandbox Code Playgroud)

每次有注册和取消注册的复制粘贴以及ObserverInterface的每个方法的通知实现.每当程序员必须记住调用Unregister()时,如果它的观察者将被破坏.

我希望将观察者模式包含在两个类模板中.到目前为止,我有类似的东西:http: //rextester.com/UZGG86035

但我不确定我是不是要重新发明轮子.是否有更容易,众所周知的方法来做到这一点?

c++ observer-pattern c++11

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

基于名称在linux中对文本文件进行分组

使用linux没有很多正则表达式或awk的经验,不知道最好的方法是什么.

我有一个看起来像的文本文件

492 "Steve Smith"
455 "Steve Smith"
322 "Steve Smith"
123 "John Doe"
234 "John Doe"
etc.
Run Code Online (Sandbox Code Playgroud)

我想要的输出是:

Steve Smith - 492, 455, 322
John Doe - 123, 234
Run Code Online (Sandbox Code Playgroud)

terminal awk text

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

How to uninstall msys2?

How to uninstall msys2? When I am trying to uninstall from "Programs and Features" I receive the error:

错误

What to do? Just delete the msys2 folder?

I am using Windows 8.1

mingw msys msys2

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

C中的system()时出现分段错误

我想使用linux的"base64"脚本对数据进行编码并在C中获取.当我尝试编译时

char a[200];
strcpy(a, "Hello");
printf("%s", a);
Run Code Online (Sandbox Code Playgroud)

我得到了输出

Hello
Run Code Online (Sandbox Code Playgroud)

现在,每当我尝试代码

char a[200];
strcpy(a, system("echo Hello | base64"));
printf("%s", a);
Run Code Online (Sandbox Code Playgroud)

我得到了输出

aGVsbG8K
Segmentation fault
Run Code Online (Sandbox Code Playgroud)

即使我删除了"printf"语句,我也是如此

aGVsbG8K
Segmentation fault
Run Code Online (Sandbox Code Playgroud)

我想保存输出的值

system("echo Hello | base64")
Run Code Online (Sandbox Code Playgroud)

在'a'而不显示它.请帮忙

c terminal segmentation-fault

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

SSH-forwarding during build only works for root

Here's a Dockerfile that works:

# syntax=docker/dockerfile:1.0.0-experimental
FROM debian:buster-slim as base

# setup APT operation for noninteractive use
# This avoids a bunch of warnings like
# "debconf: unable to initialize frontend: Dialog"
ENV DEBIAN_FRONTEND=noninteractive

# install requirements
RUN apt-get update \
    && apt-get upgrade -y \
    && apt-get install -y --no-install-recommends \
        git \
        openssh-client

# add a user
# RUN adduser --disabled-password app-user
# WORKDIR /home/app-user
# USER app-user

RUN mkdir --mode=0700 ~/.ssh
RUN printf "Host <bitbucket host>\n …
Run Code Online (Sandbox Code Playgroud)

git ssh bitbucket docker

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

以 root 身份在启动时运行 Python 脚本

我写了一个想要在启动时执行的 python 程序,但它必须以 root 身份执行,我不知道如何执行。我需要做些什么来实现这一目标?我应该把文件放在哪里(脚本在一个包含必要 python 包的文件夹中)以便它在启动时运行?如何以 root 身份运行文件?无论是将python文件夹放在某个目录下,使用其他脚本执行python脚本,还是其他方式,请分享您的解决方案!我是在树莓派上做的,所以操作系统是 Linux。

python boot root raspberry-pi

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

C++删除地图中的指针

使用地图中的指针删除堆项目

我有这张地图:

map<string, Plaats*> plaatsen;
Run Code Online (Sandbox Code Playgroud)

在一个函数中,我将这个地方添加到这个地图:

Plaats * fromPlace = new Plaats(from);
Plaats * toPlace = new Plaats(to);
auto insertedFrom = plaatsen.insert(pair<string,Plaats*>(from,fromPlace));
auto insertedTo = plaatsen.insert(pair<string,Plaats*>(to,toPlace));
//delete from or to if they are not inserted
if(!insertedFrom.second){
    delete fromPlace;
}
if(!insertedTo.second){
    delete toPlace;
}
Run Code Online (Sandbox Code Playgroud)

如果元素添加到我的地图中,我需要在析构函数中删除它.

KortstePad::~KortstePad(){
    //delete every item in plaatsen
    for(pair<string,Plaats*> place : plaatsen){
        //Plaats *p = place.second;
        delete place.second;
        place.second = nullptr;
    }

    for(pair<string,Plaats*> place : plaatsen){
        Plaats *p = place.second;
        cout << (p == nullptr) << endl;
    } …
Run Code Online (Sandbox Code Playgroud)

c++ heap pointers c++11

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