频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

新手必学:windows网络编程经典入门

来源:太平洋电脑网 作者:huyoo(转贴) 出处:巧巧读书 2005-11-07 进入讨论组
下一页 1 2 3 
  对于一个windows网络编程初学者,下面方法是经典入门。
  初学者建议不要用MFC提供的类,而用windows API做一个简单服务器和客户端,这样有助于对socket编程机制的理解。
  
  为了简单起见,应用程序是基于MFC的标准对话框。
  
  Winsock用WINDOWS API实现:
  
  (1)服务器端有两个线程:
  主线程 — 你需要编写以下函数来实现
  
  #define NETWORK_EVENT USER_MESSAGE+100 file://定义网络事件
  sockaddr_in clientaddr; file://暂时存放客户端IP地址
  
  file://自己定义消息映射函数,将上面定义的网络事件映射到处理函数
  file://OnNetEvent为网络事件处理函数,它在下面定义
  ON_MESSAGE(NETWORK_EVENT, OnNetEvent);
  
  在你对话框中的初始化函数中调用下面的初始化网络的子函数
  BOOL InitNetwork() file://初始化网络
  {
  file://初始化TCP协议
  BOOL ret = WSAStartup(MAKEWORD(2,2), &wsaData);
  if(ret != 0)
  {
  MessageBox("初始化套接字失败!");
  return FALSE;
  }
  
  file://创建服务器端套接字
  SOCKET serverSocket
  = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
  if(serverSocket == INVALID_SOCKET)
  {
  MessageBox("创建套接字失败!");
  closesocket(m_Socket);
  WSACleanup();
  return FALSE;
  }
  
  file://绑定到本地一个端口上
  sockaddr_in localaddr;
  localaddr.sin_family = AF_INET;
  localaddr.sin_port = htons(1688);
  localaddr.sin_addr.s_addr = 0;
  if(bind(serverSocket ,(const struct sockaddr*)&localaddr,
  sizeof(sockaddr)) == SOCKET_ERROR)
  {
  MessageBox("绑定地址失败!");
  closesocket(m_Socket);
  WSACleanup();
  return FALSE;
  }
  
  file://注册网络异步事件,m_hWnd为应用程序的主对话框或主窗口的句柄
  WSAAsyncSelect(serverSocket, m_hWnd, NETWORK_EVENT,
  FD_ACCEPT | FD_CLOSE | FD_READ | FD_WRITE);
  
  listen(serverSocket, 5); file://设置侦听模式
  
  return TRUE;
  }

  file://定义网络事件的响应函数
  void OnNetEvent(WPARAM wParam, LPARAM lParam)
  {
  file://调用API函数,得到网络事件类型
  int iEvent = WSAGETSELECTEVENT(lParam);
  
  file://得到发出此事件的客户端套接字
  SOCKET pSock = (SOCKET)wParam;
  
  保留地址 http://www.qqread.com/vc/a920583020.html 更多文章 更多内容请看Windows操作系统安装网络管理实用手册网络故障手册专题,或进入讨论组讨论。
更多专题 【深 度 阅 读】 相 关 文 章
    下一页 1 2 3 
    收藏此文】【 】【打印】【关闭
    相关图文阅读
    频道图文推荐
    健 康 咨 询
    时 尚 咨 询
    巧巧读书宗旨
    相关专题
    讨论组问题推荐
    站内各频道最新更新文档
    站内最新制作专题
    热门关键字导读
    Photoshop教 程照片处理 照片制作 PS快捷键 抠图
    计 算 机 故 障XP系统修复
    艺 术 与 设 计设计 流媒体 设计欣赏 边框
    计 算 机 安 全ARP
    站内频道文章精选
    巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章