首页 > 代码库 > 网络通讯之套接字编程
网络通讯之套接字编程
#include<sys/socket.h>
#include<netinet/in.h>
static char out_ip[15] = "52.0.10.188";
static int out_port = 8888;
int main()
{
char sSendBuf[2049], sRecvBuf[2049];
int connfd = 0, iRet = 0, iSendLen = 0;
struct sockaddr_in servaddr;
FILE *fp;
char sFileName[128];
memset(sSendBuf, 0, sizeof(sSendBuf));
memset(sRecvBuf, 0, sizeof(sRecvBuf));
memset(sFileName, 0, sizeof(sFileName));
bzero(&servaddr, sizeof(servaddr));
servaddr.sin_family = AF_INET;
servaddr.sin_port = htons(out_port);
inet_pton(AF_INET, out_ip, &servaddr.sin_addr);
sprintf(sFileName, "/home/ap/dcclink/.shan/practice/test.log");
fp = fopen(sFileName, "w+");
if( fp == NULL )
{
printf("fopen err!\n");
return -1;
}
connfd = socket(AF_INET, SOCK_STREAM, 0);
if( connfd < 0 )
{
printf("socket err!");
close(fp);
return -1;
}
iRet = connect( connfd, (struct sockaddr_in *)&servaddr, sizeof(servaddr) );
if( iRet < 0 )
{
printf("connect err!");
close(fp);
close(connfd);
return -2;
}
sprintf(sSendBuf, "%01028s", "aaaaaaaaaa");
iSendLen = strlen(sSendBuf);
fprintf(fp, "sSendBuf[%s],iSendLen[%d]", sSendBuf, iSendLen);
iSendLen = send( connfd, sSendBuf, iSendLen, 0 );
if( iSendLen <= 0 )
{
printf("send err!\n");
close(fp);
close(connfd);
return -3;
}
close(fp);
close(connfd);
return 0;
}