标签: networking

为 get 请求构建查询字符串

假设我有这个函数执行 get 请求:

import Network.HTTP.Conduit
import qualified Data.ByteString.Char8 as C8

get :: String -> [(C8.ByteString, C8.ByteString)] -> IO (Response LC8.ByteString)
get url par = do
  request <- parseUrl url 
  res <- withManager $ httpLbs $ createReq request
  return res
  where
    createReq req = 
      req {
            method = methodGet
          , queryString = map (\(k, v) -> k ++ "&=" ++ v) par -- ????
          }
Run Code Online (Sandbox Code Playgroud)

我相信必须有一种更简单的方法来创建查询字符串。我的方法既不简单也不错误,因为它不关心“?” 和“&”(开头必须有“?”,结尾不能有“&”)。那么如何为来自的 get 请求创建查询字符串呢[(C8.ByteString, C8.ByteString)]?此外,(++) 不能与 ByteString 一起使用。但我还没有发现任何令人惊讶的例子。

networking haskell http-conduit

0
推荐指数
1
解决办法
1334
查看次数

节点:由于代理配置,npm 安装失败!现在怎么办?

我尝试使用 angular.js 教程应用程序运行 Node,但发现 npm isntall 没有正常运行。

我得到了一个奇怪的旋转小角色,它似乎永远不会停止。

我运行 npm install -verbose 并得到以下调试跟踪:

216 error network tunneling socket could not be established, cause=connect ETIMEDOUT
216 error network This is most likely not a problem with npm itself
216 error network and is related to network connectivity.
216 error network In most cases you are behind a proxy or have bad network settings.
216 error network
216 error network If you are behind a proxy, please make sure that the
216 …
Run Code Online (Sandbox Code Playgroud)

proxy networking node.js angularjs

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

在整个网络上广播自己的IP

我想知道是否有一种更简单的方法可以使用 C 或 C++ 将我自己的 IP 广播到特定端口上网络上的所有设备

我对套接字编程不太了解,只是因为我的大多数应用程序不需要网络。我研究了一下,发现一段代码看起来很有前途,尽管它并没有完全广播,因为它发送到特定的 IP 地址。

有没有一种方法可以一次性广播到 192.168.1.0/255 之间的地址,或者我是否需要遍历这些地址,然后自己向它们发送一个数据包?

编辑:我问的是 C++ 实现,而不是网络基础设施。这就是为什么我链接了上面的链接。

c c++ sockets networking broadcast

0
推荐指数
1
解决办法
1733
查看次数

poll() 何时返回 POLLERR

server.c-> 总是接收客户端数据(使用 poll() 确认是否发生错误\xef\xbc\x89

\n\n

client.c-> 总是向服务器发送数据

\n\n

我执行server.cclient.c然后我尝试终止client.c进程。

\n\n

但 POLLERR 标志永远不会被设置。

\n\n

手册页只说

\n\n
\n

POLLERR 错误条件(仅输出)

\n
\n\n

Poll() 什么时候返回 POLLERR?

\n\n

我错过了什么?

\n\n

谢谢。

\n\n

服务器.c

\n\n
#include <stdio.h>\n#include <stdlib.h>\n#include <sys/poll.h>\n#include <sys/socket.h>\n#include <sys/time.h>\n#include <netinet/in.h>\n#include <errno.h>\n\nint main()\n{\n    int rc = 0;\n    char str[100];\n    char test[5];\n    int listen_fd, comm_fd;\n    struct sockaddr_in servaddr;\n    struct pollfd fds[200];\n    listen_fd = socket(AF_INET, SOCK_STREAM, 0);\n\n    servaddr.sin_family = AF_INET;\n    servaddr.sin_addr.s_addr = htons(INADDR_ANY);\n    servaddr.sin_port = htons(22000);\n\n    bind(listen_fd, …
Run Code Online (Sandbox Code Playgroud)

c sockets networking tcp polling

0
推荐指数
1
解决办法
3108
查看次数

多个并行 Http 请求的优点

当我们创建多个连接/请求时,实际上会发生什么?与顺序请求相比,它的速度如何更快,我有这个问题,因为在并行请求的情况下,不会在请求之间共享带宽,从而导致较长的响应时间。

就我而言,我们使用 volley 库在不同线程上发出多个请求,但它有什么用处。

有人可以解释一下并行请求是如何以及为什么是首选的吗?

java networking android http web

0
推荐指数
2
解决办法
1769
查看次数

捕捉以太网插入和拔出的瞬间

我需要某种方法来确定何时建立或禁用以太网连接。我在这里找到了如何使用批处理检查它,但我更喜欢使用 Winapi 和朋友。

是否有某种通知可以实现这一目标?如果没有,是否有一些 api 可以检查现在是否建立了连接(我可以定期检查)?

c++ networking winapi ethernet

0
推荐指数
1
解决办法
310
查看次数

VEINS/Omnet++ 中的丢包率

我是 VEINS/Omnet++ 的新手,正在尝试各种广播抑制技术,并且想计算丢包率。我想我必须使用这个公式:

丢包率 = TotalLostPackets / SentPackets

但由于某些节点发送 0 个数据包,是否有一种简单的方法可以在 Omnet++ .anf 配置文件中或在 VEINS 中指定这一点,而无需进行手动调整?否则,如果任何节点发送 0 数据包,则所有图都显示为无穷大。

谢谢你!

networking omnet++ veins sumo

0
推荐指数
1
解决办法
1821
查看次数

如何解码 scapy Dot11 数据包中的数据

我正在编写一个程序来捕获 Dot11 数据包以进行网络安全测试,在这些捕获的数据包中,我获取的数据如下所示:

<RadioTap  version=0 pad=0 len=36    present=TSFT+Flags+Rate+Channel+dBm_AntSignal+b14+b29+Ext notdecoded=' \x08\x00\x00\x00\x00\x00\x00\xd5~\xbb*\x00\x00\x00\x00\x10\x02\x99\t\xa0\x00\xbd\x00\x00\x00\xbd\x00' |<Dot11  subtype=11L type=Management proto=0L FCfield=retry ID=14849 addr1=48:ee:0c:f4:b7:ea addr2=00:26:82:8e:9a:d4 addr3=48:ee:0c:f4:b7:ea SC=46176 addr4=None |<Dot11Auth  algo=open seqnum=1 status=success |<Dot11Elt  ID=220 len=46 info='7\x94' |>>>>
Run Code Online (Sandbox Code Playgroud)

我想更好地理解以下部分:

\x08\x00\x00\x00\x00\x00\x00\xd5~\xbb*\x00\x00\x00\x00\x10\x02\x99\t\xa0\x00\xbd\x00\x00\x00\xbd\x00
Run Code Online (Sandbox Code Playgroud)

我在许多不同的捕获中获得这些类型的数据包,我希望能够“解码”它们以读取数据。有没有办法做到这一点,也许是代码示例?

python networking scapy network-security

0
推荐指数
1
解决办法
5821
查看次数

macOS en5 网络无法关闭

我有 MacBook Pro 2017,目前使用的是 High Sierra。我有一些软件的特定要求来禁用所有网络。但是这个en5网络不能被禁用。

我已从网络首选项中的网络中删除了所有内容。当我尝试通过终端禁用它时,sudo ifconfig en5 down我得到ifconfig: down: Permission Denied

几天前,我遇到了一些文章,说我需要更改 sudo 用户的一些权限,但我现在找不到该文章:(。以下是来自终端的有关 en5 的更多信息

defaults read /Library/Preferences/SystemConfiguration/NetworkInterfaces.plist | grep en5
        "BSD Name" = en5;
        IOPathMatch = "IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/XHC1@14/XHC1@14000000/HS03@14100000/iBridge@14100000/NCM Data@5/AppleUSBNCMData/en5";


en5: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
ether ac:de:48:00:11:22 
inet6 fe80::aede:48ff:fe00:1122%en5 prefixlen 64 scopeid 0x7 
nd6 options=201<PERFORMNUD,DAD>
media: autoselect
status: active
Run Code Online (Sandbox Code Playgroud)

知道如何禁用此 en5 网络吗?

macos networking macos-high-sierra macbookpro-touch-bar

0
推荐指数
1
解决办法
3925
查看次数

Docker 端口未公开 Golang

我正在 docker 中构建 golang WebService。构建看起来不错,但我无法公开端口以供外部(容器外部)访问。当我从命令行(在容器内)curl 时,应用程序似乎工作正常。

我看到很多类似问题的帖子,但不幸的是许多都没有解决或似乎不适用。

FROM golang:alpine
RUN mkdir /go/src/webservice_refArch
ADD . /go/src/webservice_refArch
WORKDIR /go/src/webservice_refArch
RUN apk add curl
RUN cd /go/src/webservice_refArch/ && go get ./...
RUN cd /go/src/webservice_refArch/cmd/reference-w-s-server && go build -o ../../server
EXPOSE 7878
ENTRYPOINT ["./server", "--port=7878"]
Run Code Online (Sandbox Code Playgroud)

我都尝试过:

  • :7878
  • 本地主机:7878

networking docker

0
推荐指数
1
解决办法
3612
查看次数