2011. 9. 3. 14:53

/*
2011.05.17.-18.
Daun.
1:1Chatting
Client..
*/
#include <winsock2.h>
#include <stdio.h>
#include<iostream>

#include<process.h> //스레드
#include<windows.h> //스레드

#include<time.h> //sleep 사용시

 

#define PORT 3000
 char buf[256]={0};
  SOCKET soc;

 

unsigned WINAPI rThreadFunction(void* arg);

unsigned WINAPI sThreadFunction(void* arg);

void main()
{


 struct sockaddr_in addr;
 HANDLE rThread, sThread;

 int intThread=0;

 WSADATA wsa;
 WSAStartup(MAKEWORD(2,0),&wsa);

 soc = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);

 addr.sin_addr.S_un.S_addr=inet_addr("127.0.0.1");
 addr.sin_family=AF_INET;
 addr.sin_port=htons(3000);

 connect(soc,(struct sockaddr*)&addr, sizeof(addr));
while(1)
{
 sThread=(HANDLE)_beginthreadex(0,0,sThreadFunction,0,0,(unsigned*)intThread);
 rThread=(HANDLE)_beginthreadex(0,0,rThreadFunction,0,0,(unsigned*)intThread);
}
 TerminateThread(rThread,0);
 TerminateThread(sThread,0);

 

 
 WSACleanup();
 closesocket(soc);

}


unsigned WINAPI rThreadFunction(void* arg)
{
 for(int i=1;i<=30;i++)
 {
 recv(soc, buf, 256,0);
 printf("상대방 : %s\n",buf);
 }
 return 0;
}


unsigned WINAPI sThreadFunction(void* arg)
{
 for(int i=1;i<=30;i++)
 {
  
 scanf("%s",&buf);
 send(soc, buf, 256, 0);


 }
 return 0;
}

'Code > socket' 카테고리의 다른 글

[SOCKET] clinet for poker  (0) 2011.09.03
[SOCKET]1:1 chatting server  (0) 2011.09.03
[SOCKET]chating server for test  (0) 2011.09.03
[SOCKET]chating client for test  (0) 2011.09.03
Posted by I_co