c 控制台聊天程序实例 代码计算机等级考试

文章作者 100test 发表时间 2009:07:07 23:25:32
来源 100Test.Com百考试题网


  今天在网上找到了个控制台聊天程序实例,感觉不错,稍微做些修改,以作收藏之用。
  服务器端程序代码:
  view plaincopy to clipboardprint?
  #pragma comment(lib,"ws2_32.lib")
  #include<.winsock2.h>.
  #include<.iostream>.
  #include<.string>.
  using namespace std.
  string strCurMsg="".
  void recvProc(SOCKET sockConnect)
  {
  char msgRcv[100]={0}.
  while(true)
  {
  if(SOCKET_ERROR==recv(sockConnect,msgRcv,sizeof(msgRcv),0))
  {
  cout<.<."nHe is leaving".
  return.
  }
  if(msgRcv[0]!=’’)
  {
  strCurMsg.erase(strCurMsg.end()-7,strCurMsg.end()).
  strCurMsg ="He said: ".
  strCurMsg =msgRcv.
  strCurMsg =’n’.
  strCurMsg ="input: ".
  system("cls").
  cout<.<.strCurMsg.
  }
  }
  }
  int main(int argc, char* argv[])
  {
  WORD wVersionRequested.
  WSADATA wsaData.
  int err.
  wVersionRequested = MAKEWORD( 1, 1 ).
  err = WSAStartup( wVersionRequested, &.wsaData ).
  if ( err != 0 ) {
  return 1.
  }
  if ( LOBYTE( wsaData.wVersion ) != 1||
  HIBYTE( wsaData.wVersion ) != 1) {
  WSACleanup( ).
  return 1.
  }
  SOCKET sockSrv=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP).
  sockaddr_in addrSrv.
  memset(&.addrSrv,0,sizeof(addrSrv)).
  addrSrv.sin_addr.S_un.S_addr=htonl(INADDR_ANY).
  addrSrv.sin_family=AF_INET.
  addrSrv.sin_port=htons(5000).
  if(bind(sockSrv,(sockaddr*)&.addrSrv,sizeof(sockaddr))==SOCKET_ERROR)
  {
  cout<.<."bind error"<.<.endl.
  }
  if(listen(sockSrv,5)==SOCKET_ERROR)
  {
  cout<.<."listen error"<.<.endl.
  }
  SOCKADDR_IN addrClient.
  int len=sizeof(sockaddr).
  while(true)
  {
  cout<.<."Waiting .....".
  SOCKET sockConnect=accept(sockSrv,(sockaddr*)&.addrClient,&.len).
  if(sockConnect==INVALID_SOCKET)
  {
  cout<.<."invalid socket"<.<.endl.
  return 0.
  }
  else
  {
  cout<.<."He is comingn".
  }
  CreateThread(NULL,0,
  (LPTHREAD_START_ROUTINE)recvProc,(void*)sockConnect,0,NULL).

相关文章


计算机二级C 辅导:C 回调函数用法计算机等级考试
C 常见的内存错误及其对策计算机等级考试
C _C内存耗尽怎么办计算机等级考试
C_C 函数调用与函数返回值计算机等级考试
c 控制台聊天程序实例 代码计算机等级考试
对话框下的直接打印和打印预览计算机等级考试
LR语法分析器程序设计计算机等级考试
C_C 多种方法获取文件大小计算机等级考试
控制台聊天程序实例 代码计算机等级考试
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛