有关winsock发送数据的问题,up也有分啊!

aaronzhang 2002-07-13 10:19:40
各位大虾:
小弟近日要做一程序,用VC做一个转发器,专门从一个端口(例如5500)接收别人发来的UDP消息,然后再从另一个端口(例如800)发送给其他的机器,不知道如何实现这个功能。监听是需要一直存在的,我想应该新建一个线程,但是在这个线程里如何同时接收并且发送这些UDP消息呢?


多谢!
...全文
43 37 打赏 收藏 转发到动态 举报
写回复
用AI写文章
37 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhaoyao73 2002-07-20
  • 打赏
  • 举报
回复
自己的IP地址不可以绑定多次?怎么建立多个socket?
最好把第二个socket,定为全局的,最后一直关闭。
CppCore 2002-07-17
  • 打赏
  • 举报
回复
up too.
apollo_jiang 2002-07-16
  • 打赏
  • 举报
回复
信以发出,请查收
anglely168 2002-07-16
  • 打赏
  • 举报
回复
to apollo_jiang(弱旅) :
can you send me too?
my e_mail:fans86@163.net
chenkan2000 2002-07-16
  • 打赏
  • 举报
回复
简单问题简单做法。
aaronzhang 2002-07-16
  • 打赏
  • 举报
回复
希望大家再给点意见!
leeseon 2002-07-16
  • 打赏
  • 举报
回复
反正没事了,up吧
aaronzhang 2002-07-16
  • 打赏
  • 举报
回复
TO:verybigbug()
可是我上面的代码中如果将调用setsockopt函数的语句去掉,就没有任何问题,这是为何?
leus 2002-07-16
  • 打赏
  • 举报
回复
up
verybigbug 2002-07-16
  • 打赏
  • 举报
回复
UDP根本不用accept和listen.不要和TCP混淆了。
sendto出错可能是因为你sendto的目标server建立了吗?
如果udp server没有建立你当然send不出去。
我觉得应该很简单的。
用不作多线程。又不是tcp。
直接recvform, sendto就可以了,关键是在sendto之前sendto的目标server必须
先建立起来。
xiaohyy 2002-07-16
  • 打赏
  • 举报
回复
哈哈,我也up!
aaronzhang 2002-07-15
  • 打赏
  • 举报
回复
to:icelight(icelight)

呵呵,我明白你的意思,但是我不清楚的是怎样让一个IP地址被绑定两次,并且还能正常工作。setsockopt我也用过,可是好像没什么用。

大家能不能给点这样使用setsockopt的具体代码呢?
icelight 2002-07-15
  • 打赏
  • 举报
回复
在VC6(未打pack2补丁时),CSocket在多线程中会若用static MFC就会出问题。

建议只用SOCKET API。

对于楼主的问题,主线程A只管ACCEPT,收到链接就启动新线程B,将UDP内容放在线程B的参数(void *p)中传过去就是了。不用想得过于复杂。

aaronzhang 2002-07-15
  • 打赏
  • 举报
回复
TO:dongcan()

你是高手?那也没有这样侮辱别人的吧?你以为你这样就不是白痴了?呵呵。真是幼稚。你也只有两个小三角嘛!很牛?哈哈!笨蛋!
dongcan 2002-07-15
  • 打赏
  • 举报
回复
白痴级的问题。
aaronzhang 2002-07-15
  • 打赏
  • 举报
回复
To:zjapuap73

一个IP地址可以在一个程序里绑定多次嘛?你试试上面的那段代码,在创建那个800端口的socket时会出错!
johnic 2002-07-15
  • 打赏
  • 举报
回复
up
dou_ya 2002-07-15
  • 打赏
  • 举报
回复
xghome(东楼) 的方法很好,效率很高,但是实现比较复杂。

如果对效率要求不是太高的话,可以每监听到一个数据就将他发送出去。
使用主线程就可以了,不需要创建单独的线程。
wuxuan 2002-07-15
  • 打赏
  • 举报
回复
建立一个消息池,使其可以并发处理各客户端的UDP包。
另外,发送与接收应该使用两个SOCKET进行处理。
aaronzhang 2002-07-15
  • 打赏
  • 举报
回复
多谢。我的信箱:aaron.zh@263.net
加载更多回复(17)

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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