当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 1 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : [问题]有关ubuntu下2个系统通信时出的问题
帖子发表于 : 2007-10-15 10:45 

注册: 2007-07-16 18:40
帖子: 52
地址: 浙江
送出感谢: 0 次
接收感谢: 0 次
我在VMware上通过2个ubuntu虚拟机进行通信
下面的是我用其中一个ubuntu对另一个进行通信,通过ping可知端口是通的,但就是发不了信息,希望哪位牛人能帮忙解决一下(2个ubuntu都启动了该程序)
下面是一个即时通信的程序
/*udp的
连接端 */
#include <sys/types.h>
#include <sys/socket.h>
#include <string.h>
#include <netinet/in.h>
#include <stdio.h>
#include <stdlib.h>
#include <arpa/inet.h>
#include <unistd.h>

#define MAXLINE 80
#define SERV_PORT 80

void do_cli(FILE *fp, int sockfd, struct sockaddr *pservaddr, socklen_t servlen){
int n;
char sendline[MAXLINE], recvline[MAXLINE + 1];

/* connect to server */
if(connect(sockfd, (struct sockaddr *)pservaddr, servlen) == -1){
perror("connect error");
exit(1);
}

while(fgets(sendline, MAXLINE, fp) != NULL){
/* read a line and send to server */
write(sockfd, sendline, strlen(sendline));
/* receive data from server */
n = read(sockfd, recvline, MAXLINE);
if(n == -1){
perror("read error");
exit(1);
}
recvline[n] = 0; /* terminate string */
fputs(recvline, stdout);
}
}

int main(int argc, char **argv){
int sockfd;
struct sockaddr_in servaddr;
/* check args */
if(argc != 2){
printf("usage: udpclient <IPaddress>\n");
exit(1);
}
/* init servaddr */
bzero(&servaddr, sizeof(servaddr));
servaddr.sin_family = AF_INET;
servaddr.sin_port = htons(SERV_PORT);
if(inet_pton(AF_INET, argv[1], &servaddr.sin_addr) <= 0){
printf("[%s] is not a valid IPaddress\n", argv[1]);
exit(1);
}

sockfd = socket(AF_INET, SOCK_DGRAM, 0);
do_cli(stdin, sockfd, (struct sockaddr *)&servaddr, sizeof(servaddr));
return 0;
}
下面是运行结果
luchen@luchen-desktop:~/communi$ ./communication 169.254.3.202
hello
read error: Connection refused
luchen@luchen-desktop:~/communi$ ping 169.254.3.202
PING 169.254.3.202 (169.254.3.202) 56(84) bytes of data.
64 bytes from 169.254.3.202: icmp_seq=1 ttl=64 time=4.02 ms
64 bytes from 169.254.3.202: icmp_seq=2 ttl=64 time=0.759 ms
64 bytes from 169.254.3.202: icmp_seq=3 ttl=64 time=0.257 ms
64 bytes from 169.254.3.202: icmp_seq=4 ttl=64 time=0.341 ms
64 bytes from 169.254.3.202: icmp_seq=5 ttl=64 time=0.315 ms
64 bytes from 169.254.3.202: icmp_seq=6 ttl=64 time=0.322 ms
64 bytes from 169.254.3.202: icmp_seq=7 ttl=64 time=1.18 ms


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 1 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 1 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译