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

帮忙看下socket中的accept函数的问题(只剩30分了,大家别嫌少哈)

    来源: 互联网  发布时间:2016-11-03

    本文导语:  我原来跑通过这个程序,后来不知道怎么了就是不行,源码如下: 头文件太占地方,我就不写出来了。 防火墙都关了,能ping通 //service.c void main()  {  pid_t fd; int listenmessage,recvmessage; int listensock,connsock;  char re...

我原来跑通过这个程序,后来不知道怎么了就是不行,源码如下:
头文件太占地方,我就不写出来了。
防火墙都关了,能ping通


//service.c
void main() 

pid_t fd;
int listenmessage,recvmessage;
int listensock,connsock; 
char recvbuff[100]; //定义要接收的数据缓冲区 
struct sockaddr_in serveraddr; //定义网络套接字地址结构 
listensock = socket(AF_INET,SOCK_STREAM,0); //创建一个套接字,用于监听 
bzero(&serveraddr,sizeof(struct sockaddr)); //地址结构清零 
serveraddr.sin_family = AF_INET; //指定使用的通讯协议族 
serveraddr.sin_addr.s_addr = htonl(INADDR_ANY); //指定接受任何连接
serveraddr.sin_port = htons(5000); //指定监听的端口 
bind(listensock,(struct sockaddr *)&serveraddr,sizeof(struct sockaddr_in));//给套接口邦定地址 
listenmessage=listen(listensock,1024); //开始监听 
printf("Listen is %d n",listenmessage);
connsock = accept(listensock,(struct sockaddr *)NULL, NULL); 
//建立通讯的套接字,accept函数,等待客户端程序使用connect函数的连接 
printf("accept is %d!n",connsock); 
recv(connsock,recvbuff,sizeof(recvbuff),0); //接收服务器的数据
printf("recv is %d!n",recvmessage); 
printf("%sn",recvbuff); //打印接收到的数据 
    sleep(2);

close(connsock); //关闭通讯套接字 

close(listensock); //关闭监听套接字 




//还有个client.c
int main(int argc,char **argv) 


pid_t fd;
int sendmessage,connectmessage;
const char buff[] = "Hello! Welcome here  gggggggggggg!rn"; //定义要发送的数据缓冲区; 
int sockfd,connsock; //定义一个socket套接字,用于通讯 
struct sockaddr_in serveraddr;//定义网络套接字地址结构 
if(argc!= 2)
{
printf("Usage: echo ip地址"); 
exit(0); 

sockfd =socket(AF_INET,SOCK_STREAM,0); //创建一个套接字 
bzero(&serveraddr,sizeof(serveraddr)); 
serveraddr.sin_family = AF_INET; //指定使用的通讯协议族 
serveraddr.sin_port = htons(5000);//指定要连接的服务器的端口 
inet_pton(AF_INET, argv[1], &serveraddr.sin_addr); 
printf("OK sendto ip is %sn",argv[1]);
connectmessage=connect(sockfd,(struct sockaddr *)&serveraddr,sizeof(serveraddr)); //连接服务器 
printf("connet is %dn",connectmessage);
sendmessage=send(sockfd,buff,sizeof(buff), 0);//向客户端发送数据 
printf("sendmessage is %d !n",sendmessage);
close(sockfd); //关闭套接字 
printf("over now!!!n");
return(0);
}
service端输入
./service
client端输入
./client 192.168.0.10
client.c能正常运行,service.c卡在红色位置了,请问是怎么回事呢?

|
如果你的Server卡在accept的地方,

你的Client怎么可能正常运行能,Client连接Server的时候,应该返回一个error才对啊。

卡在accept的那个地方,网络是通的吗?你ping过没有?

|
所有函数调用加返回值判断一下,bind()调用成功了吗?     

|
同步socket,先运行服务器端,在用客户端连接。
服务器端一直在等待客户端连接,调试一下就知道了。

|
perror看下错误信息

|
六脉神剑哈
网络自身没有问题吧

    
 
 

您可能感兴趣的文章:

  • 高手帮帮忙!vi中如何实现跳转到任意结构体或函数的声明处,包括系统库中声明的函数和数据结构?
  • 回调函数中的线程不能正确执行,大家帮忙看看吧,先谢谢了!
  • 帮忙找找system函数的实现
  • 今天第一次送分...大虾帮忙看看。 函数意思? 在线等哦!!
  • 各位大侠帮忙,linux下面有类似 GetTickcount 的函数吗?就是得到从开机到当前的滴答(time tick)值。谢谢啦
  • 整理了一下 Linux C 库函数与系统调用,请大家看看,顺便帮忙检查一下
  • Web服务器/前端 iis7站长之家
  • awk调用函数的问题,请高手帮忙解答
  • 编程牛人,帮忙我写个函数吧!!
  • gcc编译生成的 libmynet.so库中的函数没法调用,不知道为什么,好心人帮帮忙啊!!
  • unix shell 下进程的命令行参数与源程序 main函数的入口参数 是同一回事吗? 第一次编 .sh 文件,哪一位肯帮忙?
  • 关于stdio.h中的函数,请高手帮忙!
  • 刚学shellscript 关于函数的一点小问题,望帮忙解决一下
  • ¥¥:-)给分请教:linux下的邮件发送日志是什么文件??我是用php的mail()函数的。急盼!各位仁兄请帮忙!!
  • 帮忙分析一个下面这内核函数
  • 请帮忙,Linux下编译找不到sem_init函数
  • 请大家帮忙告诉我这个函数的作用!!!
  • Linux 0.12内核中关于__sleep_on()函数的一点疑问,谢谢各位大哥帮忙解答啦。
  • 哪位大侠帮忙写一个函数dup1()实现dup2()的功能!或者直接提供dup2()的源码??
  • 内核编程遇到回调函数,实在看不明白,哪位高手帮忙看看解释下,跪谢。
  • 大家帮忙推荐一本linux socket编程的入门书,我刚接触socket,谢谢!!
  • sco unix下socket编程的问题,请大家帮忙
  • 我的socket出错,熟手进来帮帮忙呀------->急!!!
  • socket的接受。大家帮帮忙!
  • socket出错,大家帮忙检查一下
  • Socket高手帮忙看一下,来者有分
  • 我在写一个socket类的时候遇到一个问题,帮忙看看!!
  • 帮帮忙!!!我用udp sockets 写了聊天室,有问题。
  • liunx 下的socket编程问题,帮帮忙!
  • 各位高手,怎么在J2ME中进行socket传输呀?请帮忙给个提示。
  • 在Applet上使用socket遇到的一个奇怪问题?请帮忙!!
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 努力努力再努力,帮忙帮忙来帮忙!
  • 在servlet中有一个关于单引号输出的问题,请大家帮忙,帮忙,帮帮忙!!
  • 小问题,你一定能够帮忙!——菜鸟请求帮忙!!
  • 帮忙帮忙如何设置变量pathclass
  • 没人帮忙吗?我想用JAVA编一个像WINDOW中的画图软件,现在出现了如下问题,请各位老哥老姐帮帮忙
  • 帮帮忙!SCO OpenServer 5.0.5 的root用户口令丢了,怎么找回来啊,帮帮忙!!!!!!
  • 我用smartupload组件遇到问题了,请帮忙!!
  • webmail问题,请高手帮忙!!!谁会使用IMP 3.0????!!!
  • 脚本问题,帮忙
  • 高手帮忙解释
  • 求教求教,shell问题...各位大哥,帮忙下
  • 关于程序移植,请知道的帮忙,分会加的
  • DELL服务器,安装RedHat EAS3.0,装完了,连不上SSH。。。。。哪位大虾帮忙!!急啊 !!!!
  • 关于聊天室的若干疑问!!!请各位大虾帮忙!
  • 有个问题?请帮忙!
  • 请求各位帮忙,关于绘制图像
  • 关于全选的问题大家帮忙看看~
  • 帮忙找个工作。
  • 请帮忙推荐几个下载java电子书的网站,35分献上!
  • 我怎么不能编译servlet?请帮忙!!!谢谢!!!


  • 站内导航:


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

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

    浙ICP备11055608号-3