鱼C论坛

 找回密码
 立即注册
查看: 2638|回复: 1

写了一个简单的聊天系统,用ip138提供的IP地址收不到消息,只能用127.0.0.1

[复制链接]
发表于 2014-5-14 22:03:17 | 显示全部楼层 |阅读模式
8鱼币
服务端socket初始化代码:
  1. //初始化套接字

  2. SOCKADDR_IN addrSock;
  3. addrSock.sin_addr.S_un.S_addr=htonl(INADDR_ANY);
  4. addrSock.sin_family=AF_INET;
  5. addrSock.sin_port=htons(5941);
  6. m_socket=WSASocket(AF_INET,SOCK_DGRAM,0,NULL,0,0);

  7. //检查套接字初始化是否错误
  8. if(INVALID_SOCKET==m_socket)
  9. {
  10. MessageBox("创建套接字失败!");
  11. return FALSE;
  12. }

  13. //绑定端口和套接字
  14. if(SOCKET_ERROR==bind(m_socket,(SOCKADDR*)&addrSock,sizeof(SOCKADDR)))
  15. {
  16. MessageBox("绑定失败!");
  17. return FALSE;
  18. }


  19. //创建异步套接字
  20. if(SOCKET_ERROR==WSAAsyncSelect(m_socket,m_hWnd,UM_SOCK,FD_READ))
  21. {
  22. MessageBox("注册网络事件失败!");
  23. return FALSE;
  24. }
复制代码

客户端socket初始化代码:

  1. m_socket=WSASocket(AF_INET,SOCK_DGRAM,0,NULL,0,0);
  2. if(INVALID_SOCKET==m_socket)
  3. {
  4. MessageBox("创建套接字失败!");
  5. return FALSE;
  6. }

  7. if(SOCKET_ERROR==WSAAsyncSelect(m_socket,m_hWnd,UM_SOCK,FD_READ))
  8. {
  9. MessageBox("注册网络事件失败!");
  10. return FALSE;
  11. }
复制代码




最佳答案

查看完整内容

前些天,我用delphi 写出来过。这个和你的程序没有关系。你一定有用路由,将路由映射到你IP上,外网的就可以用了。就是你那ip138的也可以用的。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2014-5-14 22:03:18 | 显示全部楼层
前些天,我用delphi 写出来过。这个和你的程序没有关系。你一定有用路由,将路由映射到你IP上,外网的就可以用了。就是你那ip138的也可以用的。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-9 18:15

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表