建立一个服务端的SOCKET

本文介绍了一个简单的TCP服务器程序实现,使用C++与Winsock库。该服务器监听特定端口,接受客户端连接请求,并维持无限循环等待连接。代码展示了如何初始化Winsock、创建套接字、绑定地址、监听连接及接收客户端地址。
摘要由CSDN通过智能技术生成
 

#include<iostream.h>
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <string.h>                                                                          #include<windows.h>
#include <winsock2.h>                   //***************   SOCKET所需
#pragma comment(lib, "ws2_32.lib")        //******************  SOCKET所需
#define MYPORT 6140  
#define BUFSIZE 100

 void main()
 {
  int sockfd;
  int addr_len;
  struct sockaddr_in my_addr;
  struct sockaddr_in their_addr;
  char buf[BUFSIZE];

  WSADATA   wsd;  
  int   err;  
  err   =   WSAStartup(MAKEWORD(2,2),&wsd);

  if((sockfd=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP))==-1){
   printf("socket error/n");
   exit(1);
  }

  my_addr.sin_family=AF_INET;
  my_addr.sin_port=htons(MYPORT);
  my_addr.sin_addr.s_addr=INADDR_ANY;
  //bzero(&(my_addr.sin_zero),8);

  if(bind(sockfd,(struct sockaddr *)&my_addr,sizeof(struct sockaddr))==-1){
   printf("bind error");
   exit(1);
  }
  listen(sockfd,BUFSIZE);
  addr_len=sizeof(struct sockaddr);
  while(1){  
   accept(sockfd,(struct sockaddr *)&their_addr,&addr_len);
  }
  closesocket(sockfd); 
 }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值