网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > VC++ > 正文
利用socket编写windows和linux通讯程序
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/15
下载{$ArticleTitle}原创论文样式
RT 5003
main(int argc,char *argv)
{
char buf[128];
SOCKET sclient;
struct sockaddr_in server;
int namelen,pklen;
int status,ret;
char szmessage[128];
WSADATA wsd;
if(argc<2)
{
  printf("usage:\n");
  printf("%s ipaddr",__FILE__);
  printf("ipaddr is the server''s ip address,like xxx.xxx.xxx.xxx\n");
  exit(1);
}
if((status=WSAStartup(MAKEWORD(2,2),&wsd))!=0)
{
  perror("wsastartup() failed:");
   exit(1);
}
if((sclient=socket(AF_INET,SOCK_STREAM,0))< 0)
{
  perror("socket failed :");
  exit(1);
}
ZeroMemory(&server,sizeof(server));
ZeroMemory(szmessage,sizeof(szmessage));
server.sin_family=AF_INET;
server.sin_port=htons(USERPORT);
server.sin_addr.s_addr=inet_addr(argv);
if(connect(sclient,(struct sockaddr *)&server,sizeof(server))<0)
{
  perror("connect() failed :");
  printf("%d",WSAGetLastError());
  exit(3);
}
namelen=sizeof(sclient);

/*for(ret=0;ret<10;ret++)
{
  
  if(send(sclient,szmessage,sizeof(szmessage),0)<0)
  {
   perror("send() failed:");
   break;
  }

  printf("send() return success\n  context is %s \n",szmessage);
  if((pklen=recv(sclient,buf,sizeof(buf),0))<0)
  {
   perror("recv() failed:");
   exit(5);
  }
  else
   if(pklen==0)
   {
    printf("recv():return FAILED,connected is shut down");
    break;
   }
   else
   {
    printf("the pktlen is %d\n",pklen);
    buf[pklen]=''\0'';
    printf("recv():return success\npacket length=%d and the context is %s\n",pklen,buf);
    ZeroMemory(buf,sizeof(buf));
   }
   Sleep(10);
}*/
//while(strcmp(szmessage,"q"))
while(1)
{
  
  ZeroMemory(szmessage,sizeof(szmessage));
  //scanf("%s",szmessage);
  //puts(szmessage);
  //gets(szmessage);
  //send(sclient,szmessage,sizeof(szmessage),0);
  //Sleep(10);
  ZeroMemory(buf,sizeof(buf));
  ret=recv(sclient,buf,sizeof(buf),0);
  buf[ret]=''\0'';
  //printf("%s the length is %d ",buf,ret);
  puts(buf);
  Sleep(1);
  
}

  
closesocket(sclient);
WSACleanup();
printf("server ended successfully\n");
return 0;
}

  • 上一篇资讯: 解析VC++6中的指针
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号