Skip to content

Instantly share code, notes, and snippets.

@rve
Created March 5, 2013 14:27
Show Gist options
  • Save rve/5090657 to your computer and use it in GitHub Desktop.
Save rve/5090657 to your computer and use it in GitHub Desktop.
winsock demo TCPServer
#include <winsock2.h>
#include <time.h>
#include "conio.h"
#define QLEN 5
#define WSVERS MAKEWORD(2, 0)
#pragma comment(lib, "ws2_32_lib")
int main(int argc, char argv[])
{
struct sockaddr_in fsin;
SOCKET msock, ssock;
WSADATA wsadata;
char *service = "5050";
struct sockaddr_in sin;
int alen;
char *pts;
time_t now;
WSAStartup(WSVERS, &wsadata);
msock = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP);
memset(&sin, 0, sizeof(sin));
sin.sin_family = AF_INET;
sin.sin_addr.s_addr = INADDR_ANY;
sin.sin_port = htons((u_short)atoi(service));
bind(msock, (struct sockaddr *)&sin, sizeof(sin));
listen(msock, 5);
while(!_kbhit())
{
alen = sizeof(struct sockaddr);
ssock = accept(msock, (struct sockaddr *)&fsin, &alen);
(void) time(&now);
pts = ctime(&now);
(void) send(ssock, pts, strlen(pts), 0);
printf("%s\n", pts);
(void) closesocket(ssock);
}
(void) closesocket(msock);
WSACleanup();
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment