windows socket簡單使用--實現客戶端連結服務端併傳送和接收資料

I_am_Mr_yu發表於2016-12-06


#include <Winsock.h>


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


 int sockfd; 
 int n;
 struct sockaddr_in serv_addr;
 char buffer[256];
 

//在建立socket時首先要進行初始化工作

//

WORD var;

WSADATA Data;

//這裡是設定使用socket的版本

var = MAKEWORD(2,2);

WSAStartup(var,&data);//到這裡 初始化完成
 sockfd = socket(AF_INET, SOCK_STREAM, 0);//建立socket
 if (sockfd < 0)
 {

    DWORD Error = GetLastError();
    printf("opening socket error! \n");
    exit(-1);
 }


 bzero(&serv_addr, sizeof(serv_addr));
 serv_addr.sin_family = AF_INET;
 serv_addr.sin_port = htons(8080);    //使用8080埠
 serv_addr.sin_addr.s_addr = inet_addr("127.0.0.1");//連線到本機
 if (connect(sockfd, (struct sockaddr *) &serv_addr, sizeof(serv_addr)) < 0)//連結成功
 {
  printf("connecting error! \n");
  exit(-1);
 }
 printf("Please enter the message: ");
 bzero(buffer, 256);
 fgets(buffer, 255, stdin);
 n = send(sockfd, buffer, strlen(buffer));//傳送資料
 if (n < 0)
  printf("error writing to socket! \n");
 bzero(buffer, 256);
 n = recv(sockfd, buffer, 255);//接收資料
 if (n < 0)
  printf("error reading from socket! \n");
 printf("%s \n",buffer);
 return 0;

}

上面只是客戶端簡單的傳送接收資料,關於服務端的有時間再繼續寫

相關文章