• 大小: 1.4MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-08-27
  • 语言: C/C++
  • 标签: winsocket  vc编程  

资源简介

本程序通过在VC++6.0下用winsocket实现了数据通信,功能类似QQ应用程序,同时在服务端可接受来自客户端上传的图像的资源。

资源截图

代码片段和文件信息


#include   
#include 
#include “sock_file_recv_send.h“ 
#pragma comment( lib “WSOCK32.LIB“ )
//#include  
//#pragma comment( lib “WS2_32.lib“ )   //很多人就是因为这个编译不成功 :)
#define PORT 8888
#define Hostname  “127.0.0.1“
int main()  
{
   FILE *fp=NULL; 
   int flag=0;
   char msg_rec[20]filename[20]={““};;
   int WSA_returnchld_socket;
   WSADATA WSAData;
   HOSTENT *host;  
   //struct hostent *host;
   WORD  wVersionRequested;
   struct sockaddr_in sa;

   wVersionRequested = MAKEWORD( 2 0 );
   WSA_return=WSAStartup(wVersionRequested&WSAData); //进行WSAStartup函数调用
 
   if(WSA_return==0)    //   如果成功
     printf(“Socket inital OK !!\n“);
   else
     printf(“ERROR\n“);   //错误提示    ///*/
// while(1)
   {

 if((chld_socket=socket(AF_INETSOCK_STREAM0 ))==-1)    //创建客户端socket
 {
      perror(“socket client creat error !!\n“);
      exit(1);
 }
     
 if((host=gethostbyname(Hostname))==NULL)
 {
  printf(“gethostbyname出错!“);
  exit(1);
 }
sa.sin_family = AF_INET;
sa.sin_port = htons(PORT);      //port number
sa.sin_addr = *((struct in_addr *)host->h_addr);//htonl(INADDR_ANY);//address
    memset(&(sa.sin_zero)08);
   if(flag==0)
   {const char *pszAddr=inet_ntoa (sa.sin_addr); \
    printf(“the host IP is: %s\n“pszAddr);  //return 1;
   }
      
if (connect(chld_socket (struct sockaddr *)&sa \
    sizeof(struct sockaddr)) == -1) 
{
      perror(“connect error .....\n“);
    return 1;
}

printf(“input the file name :\n     “);    //输入文件名
gets(filename);

    if((fp=fopen(“filename““rb“))!=NULL)
{
jpg_send(fpchld_socket);         // 发送图片

}
else
{printf(“there is no such a file as \“ %s \“!!\n“filename);
 send(chld_socket “error !“sizeof(“error !“) 0);
 goto ppp;
}

/*///////////////////////SEND////////////////////////////////////
  printf(“(input the words you want to say:)\n“);
      if(scanf(“%s“msg_rec))   
            if (send(chld_socket msg_recsizeof(msg_rec) 0) == -1)
             {perror(“send error!!“); closesocket(chld_socket);exit(0);};
             printf(“I say:\n   %s\n“msg_rec);
      if(!strcmp(msg_rec“end“))  {closesocket(chld_socket);break;};
////////////////////RECEVE//////////////////////////////////////
printf(“(wait for TA say ...)\n“);
if ((recv(chld_socket msg_rec 15 0)) ==-1) 
       {
        perror(“recv出错!“);closesocket(chld_socket);
       exit(1);
       //continue;
       }
else
      printf(“TA say:\n   %s\n“msg_rec);
////////////////////////////////////////////////////////////////*/
fclose(fp);
ppp: closesocket(chld_socket);
}

WSACleanup();
return 0;
}

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

     文件        528  2011-03-16 20:19  win_cilent\win_cilent.dsw

     文件      41984  2011-03-18 08:54  win_cilent\win_cilent.ncb

     文件     148480  2011-03-18 08:53  win_cilent\Debug\vc60.idb

     文件      77824  2011-03-18 08:46  win_cilent\Debug\vc60.pdb

     文件     180317  2011-03-18 08:46  win_cilent\Debug\win_cilent.exe

     文件     492544  2011-03-18 08:46  win_cilent\Debug\win_cilent.pdb

     文件     221636  2011-03-18 08:46  win_cilent\Debug\win_cilent.ilk

     文件      12510  2011-03-18 08:21  win_cilent\Debug\sock_file_recv_send.obj

     文件    3569596  2011-03-18 08:28  win_cilent\Debug\win_cilent.pch

     文件      14988  2011-03-18 08:46  win_cilent\Debug\cilent.obj

     文件       1482  2011-03-18 08:46  win_cilent\win_cilent.plg

     文件       2626  2011-03-16 20:56  win_cilent\cilent.cpp.bak

     文件      53332  2011-03-17 15:00  win_cilent\Img.jpg

     文件        100  2011-03-17 20:29  win_cilent\sock_file_recv_send.h

     文件       4472  2011-03-17 21:27  win_cilent\win_cilent.dsp

     文件        873  2011-03-18 08:21  win_cilent\sock_file_recv_send.cpp

     文件       2758  2011-03-18 08:46  win_cilent\cilent.cpp

     文件      48640  2011-03-18 08:54  win_cilent\win_cilent.opt

     文件        528  2011-03-16 21:13  win_server\win_server.dsw

     文件      50176  2011-03-18 08:54  win_server\win_server.ncb

     文件     148480  2011-03-18 08:54  win_server\Debug\vc60.idb

     文件      77824  2011-03-18 08:54  win_server\Debug\vc60.pdb

     文件     180317  2011-03-18 08:52  win_server\Debug\win_server.exe

     文件     500736  2011-03-18 08:52  win_server\Debug\win_server.pdb

     文件     186980  2011-03-17 20:21  win_server\Debug\win_server.pch

     文件      12583  2011-03-17 20:29  win_server\Debug\sock_file_recv_send.obj

     文件     220636  2011-03-18 08:52  win_server\Debug\win_server.ilk

     文件      14934  2011-03-18 08:54  win_server\Debug\server.obj

     文件        975  2011-03-18 08:54  win_server\win_server.plg

     文件         20  2011-03-16 21:14  win_server\WW_WW.txt

............此处省略14个文件信息

评论

共有 条评论