以下代码.怎么接收多条数据..高人解答!!
时间:2008-06-20 14:45:47
来源:论坛整理 作者: 编辑:chinaitzhe
#include "stdafx.h"
#include <iostream>
#include"initsock.h"
#include <stdio.h>
using namespace std;
CInitSock initSock;
int _tmain(int argc, _TCHAR* argv[])
{
//创建套节字
SOCKET s = ::socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
if(s == INVALID_SOCKET)
{
printf("Failed socket() \n");
return 0;
}
//填写远程地址信息
sockaddr_in servAddr;
servAddr.sin_family = AF_INET;
servAddr.sin_port =htons(4567);
servAddr.sin_addr.S_un.S_addr = inet_addr("192.168.1.189");
if(::connect(s, (sockaddr*)&servAddr, sizeof(servAddr)) == -1)
{
printf(" Failed connect() \n");
return 0;
}
//接收数据
char buff[256];
int nRecv ,n = 1 ;
//while(n>0)
//{
nRecv = ::recv (s,buff,256,0);
//
//}
buff[nRecv] = '/0';
printf("接收到数据:%s",buff);
//关闭套节字
::closesocket (s);
cin.get();
return 0;
}
网友回复:while(n>0)
{
nRecv = ::recv (s,buff,256,0);
buff[nRecv] = '/0';
printf("接收到数据:%s",buff);
}
网友回复:哦.真是..原来是下面那两句放错位置了.是吧.高人.小弟初学..可否讲下思路.
!!!给分!!!
网友回复:啥思路, 收一条, 输出一条呗!
但应根据需要设置条件使while循环结束.
网友回复:哦.呵呵..
buff[nRecv] = '/0';
这句子是管什么用的..
还有一个问题,服务器先关后.客户这头就无限接收服务器发的最后一条.是哪里出了问题
关键字:以下,代码,接收,数据,高人,
上一篇:程序是银行登陆的简单程序
下一篇:下面没有链接了











文章评论
共有 0 位网友发表了评论 此处只显示部分留言 点击查看完整评论页面