m*****n 发帖数: 2152 | 1 inbound call不响的时候,rt-n16 log如下,而且每一分钟显示一次:
Dec 2 17:30:07 dhcp client: deconfig: lease is lost
Dec 2 17:30:08 igmp[2108]: setsockopt- MRT_DEL_MFC
Dec 2 17:30:08 igmp[2108]: setsockopt- MRT_DEL_MFC
Dec 2 17:30:08 igmp[2108]: setsockopt- MRT_DEL_MFC
Dec 2 17:30:08 igmp[2108]: setsockopt- MRT_DONE
Dec 2 17:30:08 syslog: ERRO: MC-Router API already in use; Errno(125):
Address already in use
Dec 2 17:30:08 dhcp client: bound IP : 24.45.61.1 from 24.45.56.1
Dec 2 17:30:08 igmp[2127]: igmp star... 阅读全帖 |
|
a****s 发帖数: 47 | 2 【 以下文字转载自 Programming 讨论区 】
【 原文由 abatis 所发表 】
我用setsockopt并代参SO_BROADCAST将socket 设为broadcast socket,
now I want to change this socket back to normal, what parameter
should I use in setsockopt? thanks a lot. |
|
m******e 发帖数: 2 | 3 XP下安装,DSL,动态IP,rounter相连一个LAN。在bin目录下键入apache命令和其它参数
运行正常。但localhost和127.0.0.1不出现任何东西,是怎么回事?
查logs里的error文件,都是notice只有一个warn:A request to send or receive data
was disallowed because the socket is not connected and (when sending on a
datagram socket using a sendto call) no address was supplied. :
setsockopt(SO_UPDATE_ACCEPT_CONTEXT) failed.
还有,是不是用apache就要disable LAN里的QoS?
十分感谢! |
|
s****e 发帖数: 282 | 4 I wrote two small programs. One is server, one is client. Both the server
and client run on the same machine. Each time the client runs, it sends out
100000 UDP packets within 2 min. The size of each packet is 1KB. Maybe it is
too much, right?
I use setsockopt() to change the SO_RCVBUF. I found that even if I make the
buffer very larger, it does not help, on the contrary, more packets are
dropped. Even for the same buffer size, the result varies.
Do I need to adjust SO_SNDBUF? If SO_SNDBUF is to |
|
T**S 发帖数: 319 | 5 【 以下文字转载自 Programming 讨论区 】
发信人: TINS (TINS), 信区: Programming
标 题: Re: 有没有什么网络函数能够 (转载)
发信站: BBS 未名空间站 (Thu Sep 30 23:31:56 2010, 美东)
不是的. 比如说你的机器上有两个网卡, 各有一个地址. 现在如果你要送数据到, 比如
www.google.com, 那么你发出来的数据将使用那个本地地址作为source address呢? IP
header中的一些field, 是由系统自动设定的. 当然有些field可以通过setsockopt()
来设置或getsockopt()来查询, 但souorce IP是系统根据routing table中的路由来设
置的. 现在的问题就是如何能知道到底系统选择的是哪个本地地址.
机器上可能有多个网卡, 而且每个都可能有许多IP aliases, routing table 也可能很
复杂, 所以才有这个问题. |
|
IP 发帖数: 106 | 6 如果可以有root权限,有没有什么办法可以setsockopt另一个进程的socket。
假设知道另一个进程的PID和socket descriptor。 |
|
mw 发帖数: 525 | 7 Now i have a TCP/IP, server program. It uses its ip address and port number to
bind a socket ,then listen and connect.
The problem is , after the client side is shutdown, it needs to re-connect.
But after I "closesocket", how can i re-setup this connection ?
My process is "open socket again" ->setsockopt->bind, but the "bind" just
fails and complains that the port is in use. Wierd! I have already shutdown
the socket use "closesocket", there should not be such problem at all...
can anyone help?
t |
|
c********e 发帖数: 383 | 8 dont quite understand what you said ....but if you are binding the client
program who is doing the connect call, 1. you dont have to you can use the
em..port that the kernal gives you. INET_ANY 2, there is a socket option to
make the socket reusable check man page for setsockopt. this is usually for
sockets in the waiting state. |
|
j***i 发帖数: 3096 | 9 Windows XP. 上万个用户都没有问题,偏偏有一个bind UDP socket的时候返回10013错
误。
已经disable用户机器上的所有可能的anti-virus/firewall/content filter程序。有
没有可能是病毒/木马设置SO_EXCLUSIVEADDRUSE option?有没有方法解决这个问题或
者找到问题所在?
错误描述
10013
Permission denied.
An attempt was made to access a socket in a way forbidden by its access
permissions. An example is using a broadcast address for sendto without
broadcast permission being set using setsockopt(SO_BROADCAST).
Another possible reason for the WSAEACCES error is that when the bind
function is ca |
|
b***y 发帖数: 2799 | 10 ☆─────────────────────────────────────☆
DongCunrui (LIG) 于 (Wed Sep 21 17:23:32 2005) 提到:
We can use setsockopt to set the maximal buffer size of a UDP socket.
What I understand is this size is the max size of the UDP datagrams a UDP
socket could receive or send, this buffer is not used to buffer multiple UDP
datagrams, do I misunderstand this? If I'm right, is there anyway to buffer
multiple UDP datagrams? If so, how?
Thanks a lot.
☆─────────────────────────────────────☆
crystalike (Vad |
|
T**S 发帖数: 319 | 11 不是的. 比如说你的机器上有两个网卡, 各有一个地址. 现在如果你要送数据到, 比如
www.google.com, 那么你发出来的数据将使用那个本地地址作为source address呢? IP
header中的一些field, 是由系统自动设定的. 当然有些field可以通过setsockopt()
来设置或getsockopt()来查询, 但souorce IP是系统根据routing table中的路由来设
置的. 现在的问题就是如何能知道到底系统选择的是哪个本地地址.
机器上可能有多个网卡, 而且每个都可能有许多IP aliases, routing table 也可能很
复杂, 所以才有这个问题. |
|
h**i 发帖数: 712 | 12 用 netstat -anp查看的
if((listenfd=socket(AF_INET,SOCK_STREAM, 0)) == -1)
{
fprintf(stderr, "Socket Error: %s\a\n", strerror(errno));
exit(1);
}
on = 1;
ret = setsockopt(listenfd, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(on));
bzero((void*)&server_addr, sizeof(server_addr));
server_addr.sin_family=AF_INET;
server_addr.sin_port=htonl(9000);
server_addr.sin_addr.s_addr=htonl(INADDR_ANY);
if(bind(listenfd, (struct soc... 阅读全帖 |
|
S*A 发帖数: 7142 | 13 这个练习1 已经发现了,C10M 没有强壮的内存支持是
没戏的。单单是 kernel 部分就已经消耗很多内存了。
所以我们把目标调整一下,1M per 4G RAM。
这样 64G 内存就有可能实现 10M。
练习2 就是看看,我们如果保留 1M/4G 的空TCP
连接,可不可以。完全不往 TCP 里面发东西。就是
建立连接而已。这样也不存在 epoll 问题。
和实验1一样,我会发些拍脑瓜想出来的简单代码。
你直接用这个代码冲刺 1M/4G 会碰到些实际问题。
有兴趣的同学跟着做一下实验,看看有没有办法解
决这些问题。
BTW,我是实验出了 1M/4G (服务器方),所以是
有可能的。建立1M 连接还花了不少时间。
服务器方代码。端口是80, 大家可以自己改。
include
#include
#include
#include
#include
#include
#include
#include 阅读全帖 |
|
S*A 发帖数: 7142 | 14 拍脑瓜的简单客户端。假设端口是 80, 启动指定服务器 IP 地址,
不用域名。当然会碰到一个 IP 地址只能发出去 65K 个连接的限制。
如何用 ip alias 使用多个 IP 地址解决这个问题留给大家自己改。
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
void die(char *reason)
{
perror(reason);
exit(1);
}
int main(int argc, char **argv)
{
int sockfd;
struct sockaddr_in... 阅读全帖 |
|
S*A 发帖数: 7142 | 15 这个练习1 已经发现了,C10M 没有强壮的内存支持是
没戏的。单单是 kernel 部分就已经消耗很多内存了。
所以我们把目标调整一下,1M per 4G RAM。
这样 64G 内存就有可能实现 10M。
练习2 就是看看,我们如果保留 1M/4G 的空TCP
连接,可不可以。完全不往 TCP 里面发东西。就是
建立连接而已。这样也不存在 epoll 问题。
和实验1一样,我会发些拍脑瓜想出来的简单代码。
你直接用这个代码冲刺 1M/4G 会碰到些实际问题。
有兴趣的同学跟着做一下实验,看看有没有办法解
决这些问题。
BTW,我是实验出了 1M/4G (服务器方),所以是
有可能的。建立1M 连接还花了不少时间。
服务器方代码。端口是80, 大家可以自己改。
include
#include
#include
#include
#include
#include
#include
#include 阅读全帖 |
|
S*A 发帖数: 7142 | 16 拍脑瓜的简单客户端。假设端口是 80, 启动指定服务器 IP 地址,
不用域名。当然会碰到一个 IP 地址只能发出去 65K 个连接的限制。
如何用 ip alias 使用多个 IP 地址解决这个问题留给大家自己改。
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
void die(char *reason)
{
perror(reason);
exit(1);
}
int main(int argc, char **argv)
{
int sockfd;
struct sockaddr_in... 阅读全帖 |
|
T********i 发帖数: 2416 | 17 flags = 1;
setsockopt(_fd, /* socket affected */
IPPROTO_TCP, /* set option at TCP level */
TCP_NODELAY, /* name of option */
(char *)&flags, /* the cast is historical cruft */
sizeof(int)); /* length of option value */
写, |
|