資源簡介
類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
- 上一篇:分數計算器課程設計
- 下一篇:MFC 聊天功能源代碼
評論
共有 條評論