小编Ash*_*egi的帖子

数据包如何通过代理服务器到达目的地?

我对来自我的机器的数据包如何通过代理服务器到达目的地感到困惑。我的机器有一个用于 Intranet 的私有 ip,我们有一个带有公共 ip 的代理服务器可以与世界对话。

所以我们这里有三个地址。

1) my private ip address
2) proxy server address
3) destination address (google.com)
Run Code Online (Sandbox Code Playgroud)

现在在我发送的 tcp 数据包中,我有源端口和目标端口来区分我的机器和目标上的各种程序(如 mozilla , chrome ,ie)。

在ip网络层我有源地址和目标地址。

不知道http是否也有地址。

所以当我的数据包离开我的机器时,它会包含什么地址。以便它通过中间的网关到达我的代理服务器。?

一旦它到达代理服务器,就可以使用 NAT 将其发送到目的地。但我对它如何到达代理服务器感到困惑。

编辑:我的数据包是否应该包含我的代理服务器(本地私有)的地址以到达它?我可以通过配置我的浏览器来更改我的代理服务器。我的数据包离开我的机器后如何知道它会去哪个代理服务器?

ip proxy networking tcp http

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

Win SDK 8.0编译错误

我在我的项目中使用simple-ipc-lib.我有Windows SDK 8.0的Visual Studio 2012.我也有VS2010和Win SDK 7.0.由于一些必要的工作,我有时安装和卸载Visual Studios.

我已经在VS2012中成功构建了simple-ipc-lib.它的单元测试工作正常.

我现在正在尝试用它开发一个应用程序.我在VS2012中创建了一个空项目,包括头文件和lib.但在编译时它会给我带来错误

1>C:\CEF\simple-ipc-lib\V8_ipc\deps\simple-ipc-lib-read-only\src\pipe_win.h(24): error C2146: syntax error : missing ';' before identifier 'fd1'
1>C:\CEF\simple-ipc-lib\V8_ipc\deps\simple-ipc-lib-read-only\src\pipe_win.h(24): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\CEF\simple-ipc-lib\V8_ipc\deps\simple-ipc-lib-read-only\src\pipe_win.h(24): warning C4183: 'fd1': missing return type; assumed to be a member function returning 'int'
1>C:\CEF\simple-ipc-lib\V8_ipc\deps\simple-ipc-lib-read-only\src\pipe_win.h(25): error C2146: syntax error : missing ';' before identifier 'fd2'
1>C:\CEF\simple-ipc-lib\V8_ipc\deps\simple-ipc-lib-read-only\src\pipe_win.h(25): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\CEF\simple-ipc-lib\V8_ipc\deps\simple-ipc-lib-read-only\src\pipe_win.h(25): …
Run Code Online (Sandbox Code Playgroud)

c++ winapi ipc visual-studio visual-studio-2012

5
推荐指数
0
解决办法
4113
查看次数

Requirejs加载超时问题 - 如何增加时间?

我有一个requirejs项目.

在chrome中调试时,我在代码中放置断点,通常我会慢慢浏览代码.但这会导致将来文件出现超时错误.

如何将文件的超时时间增加到50秒?

debugging requirejs

5
推荐指数
1
解决办法
200
查看次数

来自void*的双指针和单指针?

我正在读一本关于在C中实现OOP的书,并找到了这段代码:

void delete (void * self)
{ 
    const struct Class ** cp = self;
    if (self && * cp && (* cp) -> dtor)
        self = (* cp) -> dtor(self);
    free(self);
}
Run Code Online (Sandbox Code Playgroud)

我想知道为什么作者创建了一个双指针而不是像这样的单个指针

void delete (void * self)
{ 
    const struct Class * cp = self;
    if (self && cp && cp -> dtor)
        self = cp -> dtor(self);
    free(self);
}
Run Code Online (Sandbox Code Playgroud)

有什么区别吗?

c pointers

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

scikit-学习如何知道集群中的文档?

我是python和scikit-learn的新手,所以请耐心等待.

我从k意味着聚类的 k意味着聚类算法的这个源代码.

然后我通过使用load_file函数修改为在我的本地集上运行.

虽然算法终止,但它不会产生任何输出,例如哪些文档聚集在一起.

我发现km对象有"km.label"数组,它列出了每个文档的质心id.

它还有"km.cluster_centers_"的质心向量

但它是什么文件?我必须将它映射到"dataset",这是一个"束"对象.

如果我打印dataset.data [0],我得到的第一个文件的数据,我认为是洗牌.但我只是想知道这个名字.

我对像问题这样的问题感到困惑.在datase.dbel [0],dataset.data [0]的文档是否已集中到centoid?

我的基本问题是找到哪些文件聚集在一起.怎么找到?

python cluster-analysis k-means scikit-learn

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

什么时候打电话给CloseHandle?

我有一个主线程,接收需要一些时间的操作.所以我创建一个线程并将作业委托给它.主线程在接收作业时调用此执行函数.每个作业都执行此执行.

Return_type execute( Arguments_here) {

// if a file read case
DWORD threadId;
HANDLE hThread = CreateThread( 
        NULL,                   // default security attributes
        0,                      // use default stack size  
        MyAsyncFileRead,       // thread function name
        details,          // argument to thread function 
        0,                      // use default creation flags 
        &threadId);   // returns the thread identifier
// else do other work
}
Run Code Online (Sandbox Code Playgroud)

现在因为我不想在主线程上等待,所以我不调用WaitForSingleObject.[我对windows线程的了解很少.所以,如果不需要,请原谅我]

如果我等待线程关闭,它将等待我的主线程.我不想那样做.那么我什么时候打电话给CloseHandle?

当一个人拥有10个工作并且一个创建10个线程然后等待所有10个线程完成时,那么wait_for_multiple_objects看起来很好,然后在每个句柄上调用CloseHandle.

但在这种情况下我该怎么办?

[我想这个问题对所有操作系统都有用,所以也要标记它们.]

c++ multithreading pthreads

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

B树中的指针

我阅读了 B 树并了解它们的输入、删除方法。我读了这样的介绍:

当我们在磁盘上构建结构时,我们必须处理访问和传输时间的某些现实:

  1. 对磁盘的随机访问通常需要大约 10-20 毫秒的访问时间来定位磁头并等待数据出现在它下面。
  2. 一旦磁头位置正确,数据传输的速率可以超过 100 万字节/秒。
  3. 然后观察不同大小块的总传输时间的行为(假设相当快的 10 毫秒访问时间和 1 兆字节/秒的传输速率)

因此,B 树数据结构是为从磁盘提供服务而设计的(这就是它们非常适合数据库的原因)。但是当我尝试实现它时,我遇到了这个问题。

正常的 B 树图显示了指向子节点的指针,这些子节点然后下降到叶子。

但是我如何在磁盘上制作指针呢?它像一个文件名吗?

c++ database algorithm data-structures

4
推荐指数
2
解决办法
855
查看次数

用Java从Internet获取数据

我想在java中为我的大学项目制作以下应用程序.我知道核心java.我想知道我应该为这个项目"具体"阅读什么,因为时间较短:

它将有一个接口来放置您的查询.这个字符串将作为对互联网搜索引擎的查询,并在搜索引擎的帮助下找到数据(我们看到的第一个网页(这次是我的应用程序的数据.:))).
我不想显示数据.我只想要HTML文件或生成的网页的源代码.它听起来像普通的逃亡界面吗?我不知道这个.

但我认为这是出于同样的目的.如果是这样的话.请指导我知道如何实现这一点.
无论如何请注明

  • 问题1:我应该读什么?此时任何直接帮助都不是我的意图.我想自己实现它.
  • 问题2:连接到互联网也需要一些jnlp知识.

例如.就像谷歌我们搜索的东西它向我们展示了网站的链接.我可以看到这个生成的网页的源代码.我只想让我的应用程序的这个页面继续工作.

编辑:我不想依赖谷歌或任何特定的网络服务器.我想通过我的申请来决定.
另请参阅我的问题2.

我发现我们有网站的条款条件,我应该尝试制作我的抓取工具.那么我的申请会不违反规则.那对我来说很重要.

html java jnlp web

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

如果在读取之前它不存在,则haskell写入文件

我正在学习haskell,我偶然发现了parse error on input contents'编译错误.

我想做的事 :

我将以前的会话状态存储在一个文件中.我在启动程序之前读了这个文件.但是,在第一次运行程序期间,文件可能不存在.在这种情况下,我想首先使用默认值创建文件然后继续.

main :: IO()
main = do
    -- Take input
   let fileName = "ashish-temp.txt"

   let dummyBoard = take 5 $ repeat "-----"

   fileExist <- doesFileExist fileName

   if False == fileExist
   then writeFile fileName $ unlines dummyBoard

   -- getting an error on this line
   contents <- readFile fileName

   -- do processing () :)

   --  i want the value in contents
   putStrLn "Done"
Run Code Online (Sandbox Code Playgroud)

此外,我认为,而不是写入dummyBoard文件,我可以初始化内容dummyBoard.但我也做不到.我猜两种方式应该是一样的.

请帮忙.谢谢.

编辑方案:

elseif …

io haskell file

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

解析器中的Parsec <|>选项,错误抛出但不转到下一个解析器

我正在学习哈斯克尔Write yourself a scheme.

我目前正在尝试char在计划中实施认可.char是#\<character>#\<character-name>喜欢#\a#\#\space.

所以我写了下面的代码:

-- .. some code ..
data LispVal = Atom String
             | List [LispVal]
             | DottedList [LispVal] LispVal
             | String String
             | Number Integer
             | Bool Bool
             | Char Char deriving Show
-- .... More code ...
parseChar :: Parser LispVal
parseChar = liftM Char (parseSingleChar <|> parseSpecialCharNotation)

parseSingleChar :: Parser Char
parseSingleChar = do string "#\\"
                     x <- letter
                     return …
Run Code Online (Sandbox Code Playgroud)

parsing haskell parsec

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