Source feito por um amigo e estou compartilhando com vcs, oque ele faz é colocar um servido em escuta ai o cliente se conecta e podem converça, otimo para estudos, t+
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <windows.h>
char buff[1024];
char nick[256];
char sss[1024];
char *pul="\n";
main()
{
printf("\tPrograma teste -> CHAT em C");
printf("\nCarregando e criando sockets...");
WSADATA data;
WSAStartup(MAKEWORD(2,2),&data);
printf("\nDll winsock com versao 2,2 carregada.");
SOCKET sock;
sock=socket(AF_INET,SOCK_STREAM,0);
printf("\nSocket criado e inicializado.");
struct sockaddr_in local, remote;
local.sin_family=AF_INET;
local.sin_port=htons(21);
local.sin_addr.s_addr=INADDR_ANY;
bind(sock,(struct sockaddr*)&local,sizeof(local));
listen(sock,1);
printf("\nSocket configurado e em escuta");
SOCKET at;
int Siiz=sizeof(struct sockaddr);
at=accept(sock,(struct sockaddr*)&remote,&Siiz);
if(at!=INVALID_SOCKET)
{
printf("\nConexão realizada com sucesso.");
}
printf("\nConexao vinda de: %s porta: %d",inet_ntoa(remote.sin_addr),ntohs(remote.sin_port));
printf("\n\nDigite seu nick: ");
gets(nick);
while(true)
{
printf(pul);
printf("%s envia: ",nick);
gets(buff);
send(at,buff,sizeof(buff),0);
send(at,pul,sizeof(pul),0);
recv(at,sss,sizeof(sss),0);
printf("\n%s",sss);
}
closesocket(at);
closesocket(sock);
getch();
}
Nice source
ate mais