Articles of 套接字

Solaris:侦听端口的套接字(在Linux上等效于/etc/xinetd.d)

我准备了一个脚本,它接受服务器端口上的请求,然后处理用户input,通过相同的端口提供输出,然后死亡。 脚本并不总是运行,而是在某个端口被客户端打开时启动。 我的Linux机器上的(工作)configuration是这样的: /etc/services test_socket 9876/tcp # TestSocket /etc/xinetd.d/test_socket # default: on # description: blah blah blah service test_socket { port = 9876 socket_type = stream protocol = tcp wait = no user = root server = /export/home/stefano/do_something.php instances = 20 } 一旦客户端打开端口:9876,“do_something.php”脚本开始接收传入的消息,将其处理并输出结果作为输出,然后closures通信。 我想将上述体系结构迁移/复制到Solaris 10机器。 为了这个目的,我在同一个服务文件上configuration了相同的值: /etc/services test_socket 9876/tcp # TestSocket 但是,然后…作为inetd.d在Solaris10驳回并由svc取代,我怎样才能创build一个清单重现相同的行为? 我试图search文档,但当客户端要求通过服务器端口进行通信时,我无法find任何按需启动的东西。 有谁能够帮助我?

传输层 – 谁是解复用阶段?

我正在阅读computer network a top down approach 6th edition ,我在传输层。 我了解客户端的数据包如何通过客户端套接字发送到服务器,但是当服务器收到数据包时,谁读取数据包信息并将其传递到正确的进程? 至于TCP,首先在两个进程之间build立连接。 同样的问题在这里,谁或什么是在做复用和传递数据包?

在运行服务器的RHEL本地主机上拒绝连接

我在CentOs上运行一个基于Java的系统,有时候我发现一个服务的客户在短时间内会遇到“连接被拒绝”的错误。 有趣的是,服务器,同时,服务请求。 错误是间歇性的。 监听套接字的积压是否可能会填满一小段时间,导致新请求被拒绝? 我已经没有线索了,迄今为止我还没有能够在持续集成系统之外重现这一点。

强制dnsmasq为DHCP绑定一个接口

我想在两个接口上使用带有两个configuration的dnsmasq,这两个接口应该在本地绑定。 如果你阅读手册页,它看起来像interface=wlan0 bind-interfaces应该做的伎俩。 但是它总是将dhcp服务器绑定到所有接口: udp 0 0 192.168.101.1:53 0.0.0.0:* 0 7410711 22333/dnsmasq udp 0 0 0.0.0.0:67 0.0.0.0:* 0 7410708 22333/dnsmasq configuration: interface=wlan0 except-interface=lo except-interface=wlan0_0 no-dhcp-interface=wlan0_0 dhcp-range=interface:wlan0,192.168.101.2,192.168.101.255,60m bind-interfaces 命令行: dnsmasq -C /etc/dnsmasq.wlan0.conf -z 在理论上许多选项应该是多余的,但实际上它仍然约束在0.0.0.0:67 。

如何查找源IP地址?

如何find默认的默认IP地址,如果我连接到多个networking? 我find了一个链接 http://libtins.github.io/tutorial/sending/ 但是在“发送networking层PDU”中写道 PacketSender sender; IP pkt = IP(“192.168.0.1”)/ TCP(22)/ RawPDU(“foo”); sender.send(PKT); 请注意,IP构造函数中没有指定源地址。 这在默认情况下使用地址0.0.0.0。 但是,在发送networking层PDU时,如果源地址为0.0.0.0,则PDU将在路由表上执行查找,找出哪个是源地址,并自动设置它。 那么,有没有办法find使用c + +的源地址?

什么是rtnetlink的行为,如果添加或删除以太网/桥梁?

当我学习RTNETLINK时,我知道如果在内核空间添加/删除接口,内核将发送RTM_ADDLINK或RTM_DELLINK。 但是,我有一个关于RTNETLINK消息的问题,如果添加或删除以太网桥接? 由于从网桥添加或删除以太网实际上并没有增加或删除接口,实际上是否有实际传输的RTNETLINK消息?

如何修改Windows上无法访问IP的Socketclosures时间?

首先,请看这个问题来了解我所提到的。 当我尝试套接字在Windows操作系统与UDP不可达IP,我得到了三秒的延迟。 从结果中可以看出,Windows操作系统有三秒的延迟。 但是Ubuntu没有延迟,即与Windows操作系统有关的问题。 如何减less三秒延迟到零? 无法到达的IP(使用UDP)的Windows套接字closures时间:3秒 Ubuntu无法访问的IP地址closures时间(与UDP):0秒 提前致谢…

有一个Windows应用程序可以将命令行parameter passing到TCP套接字连接吗?

我以前不需要这样的东西,但是我确定存在一些东西。 我正在寻找一个编译的Windows可执行文件(即非解释的语言),我不需要写可以读取在命令行中传入的参数,打开一个TCPnetworking套接字到另一台机器,并传递参数。 有没有人使用过这样的事情? 重新:netcat的窗户:是的,基本上。 问题是我试图从WhatsUp安装中获取数据,并在触发事件时将数据放到另一个盒子上。 我不能指定一个完整的命令行,只是一个可执行文件和一个单独的字段的参数传入,所以我不能做任何pipe道技巧。 AFAIK netcat只能从STDIN或pipe道读取数据,但无法将数据指定为命令行参数。 手册页似乎支持这一点。 我错了吗?

“无法通过套接字连接到本地MySQL服务器”并删除套接字

这是一个常见的错误,但所有的答案都不能解决我的问题: 当我启动mysql时,我有: 错误2002(HY000):无法通过套接字'/var/run/mysqld/mysqld.sock'连接到本地MySQL服务器(2) 所以在阅读了一些答案之后,我将它在my.cnf中更改为/var/lib/mysql/mysql.sock和/tmp/mysql.sock,但每次都有同样的问题。 无奈之下,我删除了/ var / run / mysqld中的mysql.sock,但是当我执行mysqld start或者service mysql start (每个都停止之后)时,并没有创build它。 我在Ubuntu 10.04,与LAMP服务器。 谢谢。

是否有限制Linux的速度限制工具,可以限制每个进程或套接字的速率?

我发现TC,它允许您通过IP,端口等进行过滤,然后限制费率。 但我想知道是否有任何可以过滤的应用程序或限制给定另一个进程的套接字速度.. 谢谢! 好像好像 我可以使用lsof -iTCP和ipfwpipe道…不知道这是多高效.. lsof -iTCP: http ://danielmiessler.com/study/lsof/ ipfw: http : //www.macgeekery.com/hacks/software/traffic_shaping_in_mac_os_x C: http ://psb.sbras.ru/cgi-bin/www/unix_help/unix-man?ipfw + 4 与速率限制(dummynet): http : //www.opensource.apple.com/source/network_cmds/network_cmds-115.2/ipfw.tproj/ipfw.c