当前位置:  技术问答>linux和unix

麻烦帮我看一下这个socket编程为什么结果不正确

    来源: 互联网  发布时间:2017-01-28

    本文导语:  这个是客户端程序,就是最后和客户端互动的那部分感觉不对, 两个printf是调试时候加上去的,能打出n,打不出m,然后停在那边不动了, 这是怎么回事? int main() { int clientfd; int n; char buf[BUFFSIZE]; struct sockadd...

这个是客户端程序,就是最后和客户端互动的那部分感觉不对,
两个printf是调试时候加上去的,能打出n,打不出m,然后停在那边不动了,
这是怎么回事?


int main()
{
int clientfd;
int n;
char buf[BUFFSIZE];
struct sockaddr_in saddr;

clientfd = my_socket(AF_INET, SOCK_STREAM, 0);

bzero(buf,BUFFSIZE);
bzero(&saddr, sizeof(saddr));
saddr.sin_family = AF_INET;
saddr.sin_port = htons(S_PORT);
inet_pton(AF_INET, "127.0.0,1", &saddr.sin_addr);

my_connect(clientfd, (struct sockaddr *)&saddr, sizeof(saddr));



while(fgets(buf, BUFFSIZE, stdin)!= NULL)
{

my_write(clientfd, buf, sizeof(buf));

printf(" n : n");
if (!(n = my_read(clientfd, buf, BUFFSIZE)))
puts(" Sorry, the server has been closed..n");

else 
printf(" m : n");
my_write(STDOUT_FILENO, buf, n);


bzero(buf,BUFFSIZE);

}
return 0;
}


|
好吧,你这个程序写的比较蛋疼了,connect自己的socket,好吧,也行,但是你connect之后应该会获得一个socket fd吧,去看看connect的说明,你应该往那个fd里面写,才能够读出数据,还有,你这个里面并没listen怎么能够建立链接呢?,建议还是写个服务端吧。看看 accept() listen()等等。

|
感觉楼主的SELECT函数用的有问题啊,select是用来判断数据通信套接字的,可是楼主却是用在监听套接字上的,而且 FD_ISSET(confd, &full_set);看不明白有什么作用,这个是个判断吗?一定为返回0啊,因为肯定是不在其中的。s_ret=my_select(maxfd+1,&tmp_set,NULL,NULL,NULL);是什么函数,是不是返回值有问题,一直是1,导致一直continue?

|
堵塞在了my_read(clientfd, buf, BUFFSIZE),服务器返回什么?应该是长度没读够,一直再等

|
服务端没回数据,客户端当然read阻塞,否则还能干什么。

    
 
 

您可能感兴趣的文章:

  • linux下的串口编程比较熟悉,麻烦帮忙!
  • java编程的一些小问题,麻烦帮忙看看
  • sock编程遇到的一个小小的疑问,麻烦前辈指教!
  • JAVA中没有宏,那编程和调试起来不是很麻烦吗?有没有一些折中办法?
  • 谁有 linux c实战编程 pdf,麻烦发我一份 100分感谢
  • 一个大三学生的困惑···真的是有些困惑···莫名的困惑···麻烦大家指点指点啊···(网络编程)
  • 想向linux方向的网络编程方面发展···请问应该具备什么知识啊?麻烦指点一下··
  • 网路编程初写代码遇到的一些麻烦
  • 新手想做一个数据库函数库作练习,是仿照《unix高级环境编程〉的那个例,书上是非集中式的,不过我想搞集中式的,麻烦大家给个意见
  • 麻烦高手推荐一本内核模块编程的好书
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 麻烦,好大的麻烦!!
  • 谁有CVS?麻烦帮我下载些源码,急用,万分感谢!
  • 麻烦各位指点一下小弟
  • 初写MAKEFILE遇到问题,麻烦大家帮忙。
  • 编程语言 iis7站长之家
  • java 275 怎么样,有没有用呀?那位知道?麻烦添一块砖吧。
  • 麻烦版主帮我结了这个贴
  • EJB调试起来好麻烦,请问各位有什么高招?
  • 有谁知道台湾中磊(苏州)研发中心的,麻烦告之!!
  • 学习Unix/Linux,麻烦大家推荐本书
  • 谁有linux进程管理方面的资料呀,麻烦传一个
  • 安装VMware出错,麻烦高手指点一下!
  • 想学linux驱动 麻烦高手们推荐本好书啊~~
  • 麻烦推荐下关于linux下的网络帮助API相关书籍
  • 问Linux高手一个安卓系统的问题,麻烦回答一下,谢谢!
  • 小弟的程序遇到麻烦了,想和哪位谈谈java的线程(57226475)
  • 麻烦介绍几个你人为不错的java论坛
  • 麻烦,介绍几个linux/unix酷站.
  • 我碰到麻烦了
  • unix 问题,麻烦各位了。


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3