游客:
注册
|
登录
|
帮助
Linux伊甸园论坛
»
C/C++ (STL/boost)
» SOCKET程序问题
IBM 集群技术资源全面接触
‹‹ 上一主题
|
下一主题 ››
投票
交易
悬赏
活动
打印
|
推荐
|
订阅
|
收藏
标题: SOCKET程序问题
chenxunuo
新生入学
UID 223902
精华 0
积分 10(
积分有什么用?
)
帖子 5
阅读权限 10
注册 2008-3-18
状态 离线
#1
使用道具
发表于 2008-3-20 11:28
资料
个人空间
短消息
加为好友
SOCKET程序问题
#include<sys/socket.h>
www.linuxeden.com~*bA [P9g0h
#include<sys/types.h>
g wlHF
^6m k
#include<netinet/in.h>
3dp mqaSL
O
#define DEFINE_PORT 8082
r"w3V6_e"^#F'M3y
Linux伊甸园论坛?)JNsZ
int main()
ne
K%Z1?RQ+RC+x6e
{
Linux伊甸园论坛sM;{f;CYK
int sockfd;
M6L4g{9g(E p)J
struct sockaddr_in servaddr;
A
I~p{j-QY?www.linuxeden.com
if((sockfd=socket(AF_INET,SOCK_STREAM,0))<0)
m
nr2G(kwww.linuxeden.com
{
D3u5pt%?d{#n3kUY
perror("socket error.\n");
H:z5}$f?
exit(1);
J?a&MR SvLinux伊甸园论坛
}
#p%YW!J&m#ocY@(e
bzero(&servaddr,sizeof(servaddr));
-wF4h:Yk$A;P}
servaddr.sin_family=AF_INET;
|#V$~6FFld$u6z
servaddr.sin_port=htons(8082);
3nL
Dv u[:_[^R
servaddr.sin_addr.s_addr=htonl(INADDR_ANY);
2^e:xE$['CCwww.linuxeden.com
if(bind(sockfd,(struct socdaddr*)&servaddr,sizeof(servaddr))<0)
^c9t5h,Xu
{
F(c H`+w
perror("bind port DEFINE_PORT error.\n");
s6ic3jm6TW
exit(1);
%G6Amw8W$V'R'X Iwww.linuxeden.com
}
)k,O)Q'|"J/K2C
A9r g
listen(sockfd,2);
:o
B/^0S%VC
`B(j
while(1);
0e
CsBQ
return 1;
a QT(F!iz,Nqk |
}
G#nB+HD e
oS
;C+T)_4EGcb
本程序(test)是想用8082端口开作监听口,运行程序后,用netstat -a |grep 8082后没反应。。。
Linux伊甸园论坛,|5TM^k$l|e*i
./test &
]!z&Hy-o4{`)eALinux伊甸园论坛
netstat -a |grep 8082
|2n$j`
` |,y
但用ps命令查询这个进程确实在运行。。为什么啊。。。
dearvoid
版主
Clark J. Wang
UID 26605
精华
26
积分 63(
积分有什么用?
)
帖子 4816
阅读权限 100
注册 2002-10-12
来自 Beijing, China
状态
在线
#2
使用道具
发表于 2008-3-21 09:58
资料
个人空间
短消息
加为好友
试试 netstat -an | grep 8082
'
◆ 发帖时请【突出主题】, 以便您的问题能够及时得到回复
◆ 发帖时请将您的【代码】或者【脚本】写在 [code] 和 [/code] 中间
不容错过的IBM 集群技术资源汇总
li-jiahuan
版主
超级版主
UID 71729
精华
14
积分 28(
积分有什么用?
)
帖子 4726
阅读权限 100
注册 2004-2-3
来自 海南海口
状态
在线
#3
使用道具
发表于 2008-3-21 10:05
资料
个人空间
短消息
加为好友
lsof -i:8082
面包会有的 女人也会有的
_______________________
不容错过的IBM 集群技术资源汇总
chenxunuo
新生入学
UID 223902
精华 0
积分 10(
积分有什么用?
)
帖子 5
阅读权限 10
注册 2008-3-18
状态 离线
#4
使用道具
发表于 2008-3-21 13:25
资料
个人空间
短消息
加为好友
QUOTE:
原帖由
dearvoid
于 2008-3-21 09:58 发表
0X9BMB:Qq9[
试试 netstat -an | grep 8082
"^#K1i)nm9l,z
用这个可以了,,但是加了个n参数什么意义?我查过是不解析主机名称,,不懂是什么意思
不容错过的IBM 集群技术资源汇总
chenxunuo
新生入学
UID 223902
精华 0
积分 10(
积分有什么用?
)
帖子 5
阅读权限 10
注册 2008-3-18
状态 离线
#5
使用道具
发表于 2008-3-21 13:27
资料
个人空间
短消息
加为好友
QUOTE:
原帖由
li-jiahuan
于 2008-3-21 10:05 发表
p9aM9L'\-O9u^www.linuxeden.com
lsof -i:8082
"m6u]ElbUwww.linuxeden.com
这个命令也行,,THANK YOU~
不容错过的IBM 集群技术资源汇总
dearvoid
版主
Clark J. Wang
UID 26605
精华
26
积分 63(
积分有什么用?
)
帖子 4816
阅读权限 100
注册 2002-10-12
来自 Beijing, China
状态
在线
#6
使用道具
发表于 2008-3-21 13:39
资料
个人空间
短消息
加为好友
QUOTE:
原帖由
chenxunuo
于 2008-3-21 13:25 发表
*~/x9Vh5X
vG5NmB!["L]WQ
用这个可以了,,但是加了个n参数什么意义?我查过是不解析主机名称,,不懂是什么意思
[ ||5UJ'HR
不加 -n 的话, netstat 将 well-known 的端口号用名字的方式显示, 比如 23 号端口将会显示为 telnet, 因此如果你要 grep 23 就会找不到了
[b!i,xN~2X
其他一些 network 相关的命令的 -n 也是这个意思, 如: route, arp, tcpdump, iptables 等
'
◆ 发帖时请【突出主题】, 以便您的问题能够及时得到回复
◆ 发帖时请将您的【代码】或者【脚本】写在 [code] 和 [/code] 中间
chenxunuo
新生入学
UID 223902
精华 0
积分 10(
积分有什么用?
)
帖子 5
阅读权限 10
注册 2008-3-18
状态 离线
#7
使用道具
发表于 2008-3-21 15:53
资料
个人空间
短消息
加为好友
QUOTE:
原帖由
dearvoid
于 2008-3-21 13:39 发表
www.linuxeden.comHf^"g&x ^#P$W
M
7~W4MR:m,Lx{"zI
不加 -n 的话, netstat 将 well-known 的端口号用名字的方式显示, 比如 23 号端口将会显示为 telnet, 因此如果你要 grep 23 就会找不到了