是否有可能知道整个服务器上有一个PHP类的实例对象(对于所有用户,而不仅仅是一个线程).
这就是我想要这样做的原因.我正在制作一个纸牌游戏,我希望有Room类(具有独特的房间名称,当前在线的玩家在房间内,socked id ...)所以当一些用户加入服务器以获得活动房间的新列表时.当一个房间被取消(销毁)时,我会向所有用户发送该信息(基本上是实时的房间状态).
好的,这就是我想要这样做的原因.我正在制作纸牌游戏项目,我希望有Room类(具有独特的房间名称,目前在线的玩家在房间内,socked id ...)所以当一些用户加入服务器以获得活动房间的新列表时.当一个房间被取消(销毁)时,我会向所有用户发送该信息(基本上是实时的房间状态).我希望你明白我想做什么.
尝试安装socket.io时为什么会出现此错误.我正在使用最新版本的NodeJS并设置了路径变量.我在cmd中使用Windows 7和管理员权限.
> ws@0.4.25 install C:\Users\Dusan\node_modules\socket.io\node_modules\socket.io
-client\node_modules\ws
> (node-gyp rebuild 2> builderror.log) || (exit 0)
CreateProcessW: The system cannot find the file specified.
npm ERR! error rolling back Error: ENOTEMPTY, rmdir 'C:\Users\Dusan\node_modules
\socket.io\node_modules\socket.io-client\node_modules\active-x-obfuscator\node_m
odules\zeparser'
npm ERR! error rolling back socket.io-client@0.9.11 { [Error: ENOTEMPTY, rmdir
'C:\Users\Dusan\node_modules\socket.io\node_modules\socket.io-client\node_module
s\active-x-obfuscator\node_modules\zeparser']
npm ERR! error rolling back errno: 53,
npm ERR! error rolling back code: 'ENOTEMPTY',
npm ERR! error rolling back path: 'C:\\Users\\Dusan\\node_modules\\socket.io\\
node_modules\\socket.io-client\\node_modules\\active-x-obfuscator\\node_modules\
\zeparser' }
npm ERR! error rolling back Error: EPERM, rmdir 'C:\Users\Dusan\node_modules\soc
ket.io\node_modules\socket.io-client\node_modules\active-x-obfuscator\node_modul …Run Code Online (Sandbox Code Playgroud) 使用
find_package(Protobuf REQUIRED
PATHS ${PROTOBUF_SEARCH_PATH}
)
if (NOT ${Protobuf_FOUND})
message( FATAL_ERROR "Could not find Protobuf!" )
endif()
protobuf_generate_cpp(PROTO_SRCS PROTO_HDRS Foo.proto)
Run Code Online (Sandbox Code Playgroud)
我收到一条错误消息Unknown CMake command "protobuf_generate_cpp"。如果我检查 Protobuff 的安装文件夹,有一个<istall path>/cmake/protobuf-module.cmake包含函数定义的 CMake 文件。
CMake version: 3.10.2
Protobuf version: 3.6.1
Run Code Online (Sandbox Code Playgroud)
这里有什么问题?
我正在尝试实现这种布局:
其中Widget1是一些小部件(QMainWindow的中央小部件),我想在它上面添加第二个小部件Widget2,但它应该在Widget1的左下角.
编辑:我之前的描述不是很有用,所以我将尝试更详细地描述它.
我继承QWidget class(class MyClass : public QWidget)并创建我自己的小部件,我在void MyClass ::paintEvent(QPaintEvent *event)屏幕上绘制一些东西.
MyClass是centralWidget我的QMainWindow.
现在最重要的是,我想添加更小的小部件(图像中的Widget2),我将在那里显示一些视频(这里我不知道如何只显示视频如何将这个Widget2添加到我的视图中).这里的主要内容是Widget2在里面(浮动)Widget1.
EDIT2:我发布的上一个代码是垃圾.
我想做的是在某个时间(例如20秒)获取视频帧。我知道我可以做这样的事情-倒带视频并暂停它:
QMediaPlayer* player = new QMediaPlayer;
...
player->play();
player->setPosition(20000);
player->pause();
Run Code Online (Sandbox Code Playgroud)
但是,是否有一些更优雅的解决方案(对我来说这似乎是一个hack,因为我不需要整个视频,而有时只需要一帧)?
我创建了一个小安卓游戏,但我得到了奇怪的错误.
这是日志:
12-31 16:10:22.407: E/AndroidRuntime(12824): FATAL EXCEPTION: Thread-1461
12-31 16:10:22.407: E/AndroidRuntime(12824): java.lang.IndexOutOfBoundsException: Invalid index 1, size is 0
12-31 16:10:22.407: E/AndroidRuntime(12824): at java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:251)
12-31 16:10:22.407: E/AndroidRuntime(12824): at java.util.ArrayList.get(ArrayList.java:304)
12-31 16:10:22.407: E/AndroidRuntime(12824): at **.***.****.GameScreen.updatePaused(GameScreen.java:91)
12-31 16:10:22.407: E/AndroidRuntime(12824): at **.***.****.GameScreen.update(GameScreen.java:43)
12-31 16:10:22.407: E/AndroidRuntime(12824): at **.***.****.framework.impl.AndroidFastRenderView.run(AndroidFastRenderView.java:39)
12-31 16:10:22.407: E/AndroidRuntime(12824): at java.lang.Thread.run(Thread.java:856)
Run Code Online (Sandbox Code Playgroud)
以下是执行代码的一部分:
int len = touchEvents.size();
for(int i = 0; i < len; i++) {
TouchEvent event = touchEvents.get(i); ->>> this line
.
.
.
Run Code Online (Sandbox Code Playgroud)
怎么了 ?
例如,在 C 或 C++ 中是否可以有 6 位有符号整数或 11 位有符号整数(或任何 n 位整数,其中 n != 2^x)?