资源简介

VC6.0 网络程序设计 UDP echo 结构体 传送指针 客户端与服务器端

资源截图

代码片段和文件信息


//客户端
#include
#pragma comment(lib“WS2_32.lib“)
#include
#include
#include
#define MAX_BUF 65536 //最大接收数据
#include  
#include  
FILE *fp;
int main()
{

WSAData wsadata;
int err = WSAStartup(WINSOCK_VERSION&wsadata);
if(0 != err )
{
return 0;
}

SOCKET sock;
sock = socket(AF_INET SOCK_DGRAM 0);
if(INVALID_SOCKET == sock)
{
WSACleanup();
return -1;
}

sockaddr_in localaddr;
localaddr.sin_family = AF_INET;
localaddr.sin_port = htons(20000);
localaddr.sin_addr.s_addr = inet_addr(“127.0.0.1“);

char data[]= “1.xv“;
int rbyte = sendto(sockdatastrlen(data)0(sockaddr *)&localaddrsizeof(localaddr));
if(SOCKET_ERROR == rbyte)
{
closesocket(sock);
WSACleanup();
return -1;
}

fp= fopen( data “wb+“ );
if(NULL == fp)

printf( “打开或创建文件失败“ ); 
fclose(fp);


char rbuf[MAX_BUF];
int localaddrlen = sizeof(localaddr);

rbyte = 1;
while(rbyte != 0)
{
memset(rbuf0MAX_BUF);
rbyte = recvfrom(sockrbufMAX_BUF0(sockaddr *)&localaddr&localaddrlen);
if(SOCKET_ERROR == rbyte)
{
closesocket(sock);
WSACleanup();
return -1;
}
printf(“%d\n“rbyte);
fwrite(rbufrbyte 1fp);
}

printf(“传输结束!“);
fclose(fp);
closesocket(sock);
WSACleanup();
return 0;
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       1318  2012-12-22 23:56  UDP文件传输\r_udp\udp.cpp

     文件       1995  2012-12-22 23:53  UDP文件传输\s_udp\udp.cpp

    ..A.SH.       162  2012-12-18 16:28  UDP文件传输\s_udp\~$1.doc

     目录          0  2013-08-24 07:48  UDP文件传输\r_udp

     目录          0  2013-08-24 07:48  UDP文件传输\s_udp

     目录          0  2013-08-24 07:48  UDP文件传输

----------- ---------  ---------- -----  ----

                 3475                    6


评论

共有 条评论