网络测试 CSocket

namewchwch 2010-08-03 12:37:04
MFC CSocket在创建的时候就指定了 端口 套接字的类型(流或报)和IP

这个能不能更改?
如 我想创建一个指定端口(1000)的UDP套接字,使用完这个端口后,再调用bind来绑定另一个端口(2000) ,再来进行通信。



ps :如何获得本机IP..
...全文
63 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
一名程序员 2010-08-03
  • 打赏
  • 举报
回复
#include <windows.h>
//#include <winsock2.h>

int main()
{
WSADATA data;
WSAStartup(0x0101,&data);
char szHostName[256];
hostent *host;
in_addr inaddr;
//以下用于获取本机IP地址
int ret = gethostname(szHostName,255);
int error = WSAGetLastError();
host=gethostbyname(szHostName);
if(host)
inaddr.s_addr=*((unsigned long*)host->h_addr_list[0]);
else
::MessageBox(NULL,"获取本机IP失败!","error",MB_OK);
WSACleanup();

return 0;
}
周药师 2010-08-03
  • 打赏
  • 举报
回复

char szHostName[256];
hostent *host;
in_addr inaddr;
//以下用于获取本机IP地址
gethostname(szName,255);
host=gethostbyname(szName);
if(host)
   inaddr.s_addr=*((unsigned long*)host-> h_addr_list[0]);
else
   ShowMessage( "获取本机IP失败! ");
周药师 2010-08-03
  • 打赏
  • 举报
回复
当然可以
不过前提是你要先关闭这个套接字 然后修改端口

18,363

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧