• 大小: 3KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-08
  • 语言: C/C++
  • 标签: udp  tcp  socket类  封装  

资源简介

类c++封装的一个socket类,对新手还是有点帮助

资源截图

代码片段和文件信息

#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 

#define SERVPORT 3333
#define MAXDATASIZE 256
int main(int argcchar *argv[])
{
int sockfdrecvbytesclient_fd;
char buf1[MAXDATASIZE] mingling[26];
struct hostent *host;
struct sockaddr_in serv_addr;
/* if(argc<2)
{
fprintf(stderr“Please enter the server‘s hostname!\n“);
exit(1);
}
*/ if((host=gethostbyname(“192.168.0.225“))==NULL);
//{
// herror(“gethostbyname出错!“);
// exit(1);
// }



if((sockfd=socket(AF_INETSOCK_STREAM0))==-1)
{
perror(“socket创建出错!“);
exit(1);
}
serv_addr.sin_family=AF_INET;
serv_addr.sin_port=htons(3333);
serv_addr.sin_addr=*((struct in_addr *)host->h_addr);
bzero(&(serv_addr.sin_zero)8);

if(connect(sockfd(struct sockaddr *)&serv_addrsizeof(struct sockaddr))==-1)
{
perror(“connect 出错!“);
exit(1);
}
if((recvbytes=recv(sockfdbuf1MAXDATASIZE0))==0)
{
perror(“recv出错!“);
exit(1);
}
buf1[recvbytes]=‘\0‘;
printf(“Received:%s“buf1);



char buf[MAXDATASIZE];
printf(“mingling\n“);
scanf(“%s“mingling);
if(mingling[0]==‘q‘)
{
close(sockfd);
return 1;
}
        if(send(sockfdminglingsizeof(mingling)0)==-1)
        { 
            perror(“send出错!\n“);
            exit(1);
        } 
/*     if((recvbytes=recv(sockfdbufMAXDATASIZE0))==-1)
     {
         perror(“recv出错!“);
         exit(1);
}
printf(“%s\n“buf);
*/
int lent=recv(sockfdbufsizeof(buf)0);
buf[lent]=‘\0‘;
printf(buf);
close(sockfd);
return 0;
}

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

     文件       2276  2009-09-22 18:09  server.cpp

     文件       1350  2009-09-22 17:07  server.h

     文件       2840  2009-09-22 17:44  serversocket.cpp

     文件       1655  2009-09-22 17:22  client.c

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

                 8121                    4


评论

共有 条评论