问题列表 - 第24559页

Android:如何解析带有空格的URL String到URI对象?

我有一个字符串表示包含空格的URL,并希望将其转换为URI对象.如果是简单的尝试

String myString = "http://myhost.com/media/File Name that has spaces inside.mp3";
URI myUri = new URI(myString);
Run Code Online (Sandbox Code Playgroud)

它给了我

java.net.URISyntaxException: Illegal character in path at index X
Run Code Online (Sandbox Code Playgroud)

其中index X是URL字符串中第一个空格的位置.

如何可以解析myString到一个URI对象?

java url android uri httprequest

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

如何知道客户端是否已在套接字中终止

假设在编写此代码后我有一个连接的套接字..

if ((sd = accept(socket_d, (struct sockaddr *)&client_addr, &alen)) < 0)
{
    perror("accept failed\n");
    exit(1);
}
Run Code Online (Sandbox Code Playgroud)

如何在服务器端知道客户端已退出.

我的整个程序实际上做了以下..

  • 接受来自客户端的连接
  • 启动一个新线程,该线程从该特定客户端读取消息,然后将此消息广播到所有连接的客户端.

如果你想看到整个代码......在这整个代码中.我还在努力解决另一个问题,每当我用Ctrl + C杀死一个客户端时,我的服务器突然终止.. 如果有人能提出问题是什么,那就太好了..

#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <netdb.h>
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <string.h>
#include <signal.h>
#include <errno.h>
#include <pthread.h>

/*CONSTANTS*/
#define DEFAULT_PORT 10000 
#define LISTEN_QUEUE_LIMIT 6
#define TOTAL_CLIENTS 10
#define CHAR_BUFFER 256

/*GLOBAL VARIABLE*/
int current_client = 0;
int connected_clients[TOTAL_CLIENTS];
extern int errno;

void *client_handler(void * socket_d);

int main(int …
Run Code Online (Sandbox Code Playgroud)

c sockets

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

在PostgreSQL中表示稀疏数据

在PostgreSQL中表示稀疏数据矩阵的最佳方法是什么?我看到的两个明显的方法是:

  1. 将数据存储在单个表中,每个表都有一个单独的列(可能是数百万),但未使用的功能的默认值为NULL.这在概念上非常简单,但我知道在大多数RDMS实现中,这通常非常低效,因为NULL值通常会占用一些空间.但是,我读了一篇文章(遗憾的是找不到它的链接),声称PG没有占用NULL值的数据,使其更适合存储稀疏数据.

  2. 创建单独的"行"和"列"表,以及用于链接它们并在该行存储列值的中间表.我相信这是更传统的RDMS解决方案,但它有更多的复杂性和开销.

我还发现了PostgreDynamic,它声称可以更好地支持稀疏数据,但我不想仅仅为了这个功能而将整个数据库服务器切换到PG分支.

还有其他解决方案吗?我应该使用哪一个?

sql postgresql relational-database sparse-matrix

18
推荐指数
2
解决办法
8360
查看次数

如何知道optparse选项是在命令行中传递还是作为默认值传递

使用python optparse.py,有没有办法计算出是从命令行还是从默认值设置了特定的选项值.

理想情况下,我希望像默认值一样使用dict,但包含实际从命令行提供的选项

我知道您可以将每个选项的值与默认值进行比较,但这不能区分通过与默认值匹配的命令行传递的值.

谢谢!


编辑

对不起我原来的措辞不是很清楚.

我有大量的脚本从批处理文件中调用.出于审计目的,我想报告正在传递的选项,以及它们是从命令行,默认还是其他方式传递到日志文件.

使用默认值可以判断选项是否与默认值匹配,但仍然不能告诉您它是否实际上是从命令行提供的.这可能是相关的:如果从命令行传递一个选项并且与默认值一致,那么如果然后更改代码中的默认值,脚本仍将获得相同的值.

对我来说,拥有一个等效的默认值是很自然的,包含实际提供的值.

为了使问题具体,在这个例子中:

>>> sys.argv = ['myscript.py','-a','xxx']
>>> import optparse
>>> parser = optparse.OptionParser()
>>> parser.add_option('-a', default = 'xxx')
>>> parser.add_option('-b', default = 'yyy')
Run Code Online (Sandbox Code Playgroud)

我如何知道从命令行传递的选项a.是手动解析命令行的唯一方法吗?

(我知道这是一个相当小的一点,但我认为如果我在optparse上遗漏了什么,那将是值得的)

再次感谢

python optparse

8
推荐指数
2
解决办法
5934
查看次数

是否可以使用多态中的超类对象访问子类的变量

如何使用类KeyBoardPlayer的对象访问类的状态变量KalaPlayer

/**
  * An abstract class representing a player in Kala.  Extend this class
  * to make your own players (e.g. human players entering moves at the keyboard
  * or computer players with programmed strategies for making moves).
  */
public abstract class KalaPlayer {

    /**
      * Method by which a player selects a move.
      * @param gs The current game state
      * @return A side pit number in the range 1-6
      * @throws NoMoveAvailableException if all …
Run Code Online (Sandbox Code Playgroud)

polymorphism subclass superclass

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

LIST <> AddRange抛出ArgumentException

我有一个特殊的方法偶尔崩溃与ArgumentException:

Destination array was not long enough. Check destIndex and length, and the array's lower bounds.:
at System.Array.Copy(Array sourceArray, Int32 sourceIndex, Array destinationArray, Int32 destinationIndex, Int32 length, Boolean reliable)
at System.Collections.Generic.List`1.CopyTo(T[] array, Int32 arrayIndex)
at System.Collections.Generic.List`1.InsertRange(Int32 index, IEnumerable`1 collection)
at System.Collections.Generic.List`1.AddRange(IEnumerable`1 collection)
Run Code Online (Sandbox Code Playgroud)

导致此崩溃的代码如下所示:

List<MyType> objects = new List<MyType>(100);
objects = FindObjects(someParam);
objects.AddRange(FindObjects(someOtherParam);
Run Code Online (Sandbox Code Playgroud)

根据MSDN,List <>.AddRange()应根据需要自动调整大小:

如果新的Count(当前Count加上集合的大小)将大于Capacity,则List <(Of <(T>)>)的容量会通过自动重新分配内部数组以适应新元素而增加,并且在添加新元素之前将现有元素复制到新数组.

有人可以想到AddRange会抛出这种类型的异常的情况吗?


编辑:

回答有关FindObjects()方法的问题.它基本上看起来像这样:

List<MyObject> retObjs = new List<MyObject>();

foreach(MyObject obj in objectList)
{
   if(someCondition)
       retObj.Add(obj);
}
Run Code Online (Sandbox Code Playgroud)

c# exception list

9
推荐指数
1
解决办法
7357
查看次数

为二进制程序启用mtrace(MALLOC_TRACE)

如何在没有源的情况下启用mtrace() (和MALLOC_TRACEenv)二进制程序?

mtrace是glibc的特色:http://www.gnu.org/s/hello/manual/libc/Allocation-Debugging.html

谢谢

malloc glibc mtrace

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

如何使用C++ Boost的regex_iterator()

我使用Boost来匹配字符串中的子串.Io迭代结果,我需要使用regex_iterator().

这是我找到的唯一用法示例,但我不理解回调.有人可以给我一个功能的例子吗?


让我们假设我的输入文本是:

"Hello everybody this is a sentense
Bla bla 14 .. yes 
date 04/15/1986 
"
Run Code Online (Sandbox Code Playgroud)

我想得到:

"Hello" "everybody" "this" "is" "a" "sentense" "bla" "yes" "date"
Run Code Online (Sandbox Code Playgroud)

c++ regex boost iterator

8
推荐指数
1
解决办法
7143
查看次数

Windows Workflow Foundation 4(WF4)重新构建

我一直在研究重新编写WF4工作流程来调试运行的工作流程的可能性.我见过的关于WF4 Rehosting的所有帖子和示例都使用WPF应用程序来初始托管工作流,然后使用WorkflowDesigner重新构建它.有没有办法重新托管在非WPF应用程序中托管的工作流,比如ASP.Net MVC?

windows hosting workflow-foundation workflow-foundation-4

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

如何从Windows窗体执行控制台应用程序?

我想从Windows窗体加载事件运行控制台应用程序(例如app.exe).我尝试过System.Diagnostics.Process.Start(),但在打开app.exe之后,它会立即关闭它.

有什么方法可以运行app.exe并让它保持打开状态?

c# console-application winforms

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