windows socket简单使用--实现客户端链接服务端并发送和接收数据

来源:互联网 发布:淘宝客 第三方服务商 编辑:程序博客网 时间:2024/06/10 10:36


#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;

}

上面只是客户端简单的发送接收数据,关于服务端的有时间再继续写

0 0
原创粉丝点击