| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 643 人关注过本帖
标题:哪位大虾能告诉我socket为什么调用出错,怎么改?
取消只看楼主 加入收藏
zyx1989
Rank: 1
等 级:新手上路
帖 子:86
专家分:2
注 册:2011-9-17
结帖率:83.33%
收藏
已结贴  问题点数:10 回复次数:1 
哪位大虾能告诉我socket为什么调用出错,怎么改?
#include <WINSOCK2.H>
#pragma comment(lib,"ws2_32.lib")

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include <errno.h>
#include <malloc.h>



#include <stdarg.h>


 int main()
{
     int sockfd,BINE,CON,LIN,ACP,SEN,LEN,CLIENT;
     struct sockaddr_in my_addr;
     

         
     
     struct sockaddr_in remote_addr;
     
     sockfd=socket(AF_INET,SOCK_STREAM,0);//调用Socket函数//
     if(sockfd==-1)
     {
         perror("Socket错误!\n");//错误提示//
         exit(1);
     }
     

     my_addr.sin_family=AF_INET;//网络协译TCP/IP//
     my_addr.sin_port=htons(3465);//本地端口为2300//
     my_addr.sin_addr.s_addr=INADDR_ANY;//自动填入本机IP//
     memset(&my_addr,0,sizeof(struct sockaddr_in));
     
     if(bind(sockfd,(struct sockaddr*)&my_addr,sizeof(my_addr)==-1))
     {
         printf("sdfe\n");
         exit(1);
     }
     
     LIN=listen(sockfd,20);//调用listen()函数监听端口//
     if(LIN!=-1)
     {
         printf("监听端口失败!");//出错提示//
         
     }
     CLIENT=sizeof(struct sockaddr);
     ACP=accept(sockfd,(struct sockaddr*)&my_addr,&CLIENT);//accept()函数,用于接受客户端的连接请求//
     if(ACP==-1)
     {
         printf("接受请求失败!");
         
     }
     char *msg="hello ,socket!";//要发送的内容//
     LEN=strlen(msg);//将字符转化为数字//
     SEN=send(ACP,msg,LEN,0);//调用send()函数,发送信息//
     if(SEN==-1)
     {
         printf("发送失败!");
         
     
     closesocket(ACP);//断开连接//
     return(0);
     }
     closesocket(ACP);
 }
搜索更多相关主题的帖子: comment include Socket 
2011-11-11 16:26
zyx1989
Rank: 1
等 级:新手上路
帖 子:86
专家分:2
注 册:2011-9-17
收藏
得分:0 
#include <winsock.h>
#pragma comment(lib,"ws2_32.lib")

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include <errno.h>
#include <malloc.h>



#include <stdarg.h>


 
 int main()
{
     int sockfd,BINE,CON,LIN,ACP,SEN,LEN,CLIENT,err;
     WORD wVersionRequested;
     WSADATA wsaData;
     wVersionRequested = MAKEWORD( 1, 1 );

     err = WSAStartup( wVersionRequested, &wsaData );
     if ( err != 0 ) {
     /* Tell the user that we couldn't find a useable */
     /* winsock.dll. */
     return(0);
     }


     struct sockaddr_in my_addr;
     

         
     
     struct sockaddr_in remote_addr;
   
     sockfd=socket(AF_INET,SOCK_STREAM,0);//调用Socket函数//
     if(sockfd==-1)
     {
         printf("%d\n", GetLastError());

         exit(1);
     }
     

     my_addr.sin_family=AF_INET;//网络协译TCP/IP//
     my_addr.sin_port=htons(0);//本地端口为2300//
     my_addr.sin_addr.s_addr=INADDR_ANY;//自动填入本机IP//
     memset(&my_addr,0,sizeof(struct sockaddr_in));
     
     if(bind(sockfd,(struct sockaddr*)&my_addr,sizeof(struct sockaddr)==-1))
     {
         printf("%d\n",GetLastError());
         exit(1);
     }
     
     LIN=listen(sockfd,20);//调用listen()函数监听端口//
     if(LIN!=-1)
     {
         printf("监听端口失败!");//出错提示//
         
     }
     CLIENT=sizeof(struct sockaddr);
     ACP=accept(sockfd,(struct sockaddr*)&my_addr,&CLIENT);//accept()函数,用于接受客户端的连接请求//
     if(ACP!=-1)
     {
         printf("接受请求失败!");
         
     }
     char *msg="hello ,socket!";//要发送的内容//
     LEN=strlen(msg);//将字符转化为数字//
     SEN=send(ACP,msg,LEN,0);//调用send()函数,发送信息//
     if(SEN!=-1)
     {
         printf("发送失败!");
         
     
     closesocket(ACP);//断开连接//
     return(0);
     }
     closesocket(ACP);
 }
那个我知道了,现在是bind()错误啊,错误码10014
2011-11-11 17:33
快速回复:哪位大虾能告诉我socket为什么调用出错,怎么改?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016935 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved