重分求助:udp和tcp/ip通信怎样获取对方的ip和端口号(贡献突出者再加)

lifengnm 2004-05-11 07:04:58
请诸位老大帮帮忙,急用!!!
另外看看我这样对不对
tcp/ip通信中创建套接字是用creat(),那么是不是udp就只是把里面的参数2设为SOCK_DGRAM就行了(我指得是区分udp和tcp)?
...全文
235 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
tongdou12 2004-05-12
  • 打赏
  • 举报
回复
先创建一个socket,socket(AF_INET,SOCK_RAW,IPPROTO_IP),也可以用create();SOCK_DGRAM创建的只是udp的socket,SOCK_RAW则是原始套接字,创建的socket可接受udp和 tcp包。我们这要熄灯了,下次再说吧。
tongdou12 2004-05-12
  • 打赏
  • 举报
回复
创建完套接字后,就用gethostname(name,namelen),gethostbyname(name)获取ip地址,然后绑定bind(sock,(SOCKADDR*)&sockaddr,sizeof(sockaddr)),再设置socket属性
int err;
BOOL bopt=TRUE;
err = setsockopt(Sockcap, SOL_SOCKET, SO_REUSEADDR, (char*)&bopt, sizeof(bopt));
err = setsockopt(Sockcap, IPPROTO_IP, IP_HDRINCL, (char*)&bopt, sizeof(bopt));
用WSAIoctl(Sockcap,
SIO_RCVALL,
&dwBufferInLen,
sizeof(dwBufferInLen),
dwBufferLen,
sizeof(dwBufferLen),
&dwBytesReturned,
NULL,
NULL);
接受IP包,最后用recv()函数把IP包接收到缓冲。具体的函数定义参看msdn,详细的实现过程可看例子“网络包的截获”网址:http://www.csdn.net/cnshare/shtm/108.shtm
sharkhuang 2004-05-12
  • 打赏
  • 举报
回复
ip包里面就带有!只是用out参数给你而已!
sharkhuang 2004-05-11
  • 打赏
  • 举报
回复
就是靠第2参数去指定具体的实现函数!通过函数指针转换的
PiggyXP 2004-05-11
  • 打赏
  • 举报
回复
然后服务器端的 比如 ReceiveFrom(buff,100,ip,port);

里的ip和 port 就是返回的ip和port了 :)
wxqzhy 2004-05-11
  • 打赏
  • 举报
回复
在VC 中 是 通 过 调 用 函 数RasGetProjectionInfo() 来 获 取IP 地 址 的。
----函 数 调 用 成 功 时 返 回0 值, 此 时 在 RASPPPIP 结 构 变 量 中 的szIpAddress 就 是 动 态IP 地 址。
PiggyXP 2004-05-11
  • 打赏
  • 举报
回复
楼主用的CSocket类啊
那建立UDP连接确实是这样 Create(PORT,SOCK_DGRAM);
MikroTik RouterOS是一种路由操作系统,并通过该软件将标准的PC电脑变成专业路由器,在软件RouterOS 软路由图的开发和应用上不断的更新和发展,软件经历了多次更新和改进,使其功能在不断增强和完善。特别在无线、认证、策略路由、带宽控制和防火墙过滤等功能上有着非常突出的功能,其极高的性价比,受到许多网络人士的青睐。 桥接功能   RouterOS能将多张网卡组建为一个桥模式,使路由器变成一个透明的桥设备,同样也实行三层交换的作用,MAC层的以太网桥、EoIP 、Prism、Atheros和RadioLAN 等都是支持的。所有802.11b和802.11a 客户端的无线网卡(如station模式的无线)受802.11 的限制无法支持桥模式,但可以通过EoIP协议的桥接方式实现。   为防止环路出现在网络中,可以使用生成树协议(STP) ,这个协议同样使冗余线路成为可能。   包括特征如下:   l 生成树协议(STP)   l 多桥接接口功能   l 该协议能选择转发或者丢弃   l 能实时监控MAC地址   l 桥防火墙   l 多线路支持   RouterOS基于策略的路由为网络管理者提供了比传统路由协议对报文的转发和存储更强的控制能力,路由器用从路由协议派生出来的路由表,根据目的地址进行报文的转发。   在负载均衡下也可以根据带宽的比例调整两条线路的流量。RouterOS提供了多种方式的路由功能,使其路由功能更强大,更灵活。RouterOS的路由功能主要为:   l 基于源地址的路由   l 基于目标地址的路由   l 基于端口的路由   l 基于定义用户类的路由   l 基于负载均衡的路由   l 基于端口的负载均衡   l 隧道协议   RouterOS支持多种隧道协议如PPP、PPPoE、PPTP、EoIPIPIP以及IPsec,这些隧道协议可以为远程资源访问和企业间的连接提供很好的解决方案,如:   l 通过PPTP或IPIP实现通网络资源互用   l EoIP或PPTP的远程局域网解决方案   l 支持PPPoE服务器   l Hotspot热点认证服务   热点服务认证系统是一种web的认证方式,在此种认证方式中,用户可以通过自设IP地址或DHCP获得一个地址,打开浏览器,无论输入一个什么地址,都会被强制到一个认证界面,要求用户进行认证,认证通过后,就可以访问其他站点了。主要特征:   l 用户通过时间与流量认证计费   l Cookie (存储用户的账号和密码) 带宽控制功能   l 定额控制(连接超时时间, 下载/上传传输限制)   l 实时用户状态信息显示   l 自定义认证HTML页(可以由你自己设计认证页)   l DHCP服务器分配IP地址   l 简单的RAIUS客户端配置   l RouterOS 能与PPTP隧道、IPsec以及其它的一些功能配合使用。   l 可以通过Access Point与以太网接入用户。   l 定时广播指定的URL链接   l 脚本控制   RouterOS提供了可以编写的脚本功能,脚本的加入使RouterOS在处理很多网络方案、自动检查故障和动态生成策略等,都可以通过脚本很好的解决。使得在处理很多网络问题上更加的灵活和智能化。   具体功能:   TCP/IP协议组:   l Firewall和NAT–包状态过滤;P2P协议过滤;源和目标NAT;对源MAC、IP地址、端口、IP协议、协议(ICMP、TCP、MSS等)、接口、对内部的数据包和连接作标记、ToS 字节、内容过滤、顺序优先与数据频繁和时间控制、包长度控制...   l 路由 – 静态路由;多线路平衡路由;基于策略的路由(在防火墙中分类); RIP v1 / v2, OSPF v2, BGP v4   l 数据流控制 – 能对每个IP、协议、子网、端口、防火墙标记做流量控制;支持PCQ, RED, SFQ, FIFO对列; Peer-to-Peer协议限制   l HotSpot – HotSpot认证网关支持RADIUS验证和记录;用户可用即插即用访问网络;流量控制功能;具备防火墙功能;实时信息状态显示;自定义HTML登录页;支持iPass;支持SSL安全验证;支持广告功能。   l 点对点隧道协议 – 支持PPTP, PPPoE和L2TP访问控制和客户端; 支持PAP, CHAP, MSCHAPv1和MSCHAPv2 验证协议; 支持RADIUS验证和记录;MPPE加密;PPPoE压缩;数据流控制;具备防火墙功能;支持PPPoE按需拨号。   l 简单隧道 – IPIP隧道、EoIP隧道 (Ethernet over IP)   l IPsec – 支持IP安全加密AH和ESP协议;  

18,356

社区成员

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

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