gcc的socket http通信程序

gcc的socket http通信程序

 

#include <stdio.h>

#include <string.h>

#include <stdlib.h>

#include <sys/types.h>

#include <unistd.h>

#include <arpa/inet.h>

#include <sys/socket.h>

#include <netinet/in.h>

#include <netdb.h>

#include <errno.h>

#define PORT 80

#define SERVER_IP "192.168.1.21"

 

int main(int argc,char *argv[])

{

int ii,i,serverSocket;

struct sockaddr_in clientAddr;

char buffer[4096];

serverSocket =socket(AF_INET,SOCK_STREAM,0);

if(serverSocket==-1)

  {

 printf("Invalid socket\n");

 exit(1);

  }

bzero(&clientAddr,sizeof(clientAddr)); 

clientAddr.sin_family=AF_INET;

clientAddr.sin_port=htons(PORT);

clientAddr.sin_addr.s_addr=inet_addr(SERVER_IP);

if(connect(serverSocket,&clientAddr,sizeof(clientAddr))<0)

{

perror("connect");

exit(1);

}

strcpy(buffer,"GET / HTTP/1.1\nHost:192.168.1.21\n\n");

printf("\n%s\n",buffer);

if(send(serverSocket,buffer,sizeof(buffer),0)<0)

{

perror("send error");

exit(1);

}

ii=(int)recv(serverSocket,buffer,sizeof(buffer),0);

printf("\nrev=%d length\n",ii);

for(i=0;i<ii;i++)

{

printf("%c",buffer[i]);

}

return 1;

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值