Chinaunix首页 | 论坛 | 博客
  • 博客访问: 57234
  • 博文数量: 15
  • 博客积分: 1421
  • 博客等级: 上尉
  • 技术积分: 190
  • 用 户 组: 普通用户
  • 注册时间: 2009-12-18 12:36
文章分类

全部博文(15)

文章存档

2013年(1)

2011年(4)

2010年(5)

2009年(5)

我的朋友

分类: 系统运维

2009-12-20 18:32:14

这学期有个网络程序设计的课要做一个作业交上去,之前已经花了一些时间做的差不多,可恶的是前几天实验室电脑的硬盘坏了,这下全完了,又花了两三天的时间去整那玩意,遇到了N多的问题,白白浪费了我的时间,有些问题自己看看真的是超级的小白了。
首先: 由于不小心,c语言的其中一条语句逻辑没整对:

if( ( cst = accept( st, (struct sockaddr *)&csin, &slen ) ) < 0 )
其中的括号给露了,调试了半天都是出来 cst = 0 ,后面的程序可想而知,所有的数据都往终端输出了,真的是杯具啊。。

还有一个问题困扰了N久那就是在写UDP传输的时候,一直不能按照预想的发送接受数据,调了我头都大了,后来上网下了一个程序作参考,发现是在recvfom的时候最后一个参数要先初始化一下才行,得先设置sa_len 的大小,后来查了一下书发现果真是如此,因为sa_len是先指定sa所拥有的空间大小,这样才能告知程序空间的大小,而返回的时候是sa的实际大小,并不是自己刚开始所想的那样,sa_len只是让程序来给赋值,他还有指示空间大小的作用,唉,刚开始的时候怎么就木有认真阅读,以此为鉴! 所一用udp传输的时候千万别忘了先
sa_len = seizeof( sa );

饿了,吃饭去了.
阅读(487) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~