永发信息网

VB监听端口后.把监听的数据发回发送源

答案:4  悬赏:70  手机版
解决时间 2021-12-01 00:41
VB监听端口后.把监听的数据发回发送源
最佳答案
代码是没有了,我只有VC的,最近在写
老实说,端口不是随机的,我也能知道你是什么意思,就是NAT要返回的。
在收到消息的函数里面,会有一个参数,如果是用Windows API做的话,就有一个sockaddr_in的结构体,里面包含了对方的IP和端口,记得端口是高低字节错位的,把高8位和低8位调换一下就好了。
有了对方的IP和端口,直接再向这个IP和端口发消息就好了。
以上的是针对UDP协议的

如果是TCP协议,服务器就更简单了,客户端连接过来,服务器端需要用accept建立连接,建立后直接有一个Socket,以后就一直用这个socket发消息,发过去的就是这个用户的。
全部回答
UDP还是TCP?
vb 里有个winsock控件,可以用这个
以下代码可以用来监视用户打开的端口和ip:

Private Type MIB_TCPROW
dwState As Long
dwLocalAddr As Long
dwLocalPort As Long
dwRemoteAddr As Long
dwRemotePort As Long
End Type
Private Type MIB_TCPTABLE
dwNumEntries As Long
table(100) As MIB_TCPROW
End Type
Private Declare Function GetTcpTable Lib "iphlpapi.dll" (ByRef pTcpTable As MIB_TCPTABLE, ByRef pdwSize As Long, ByVal bOrder As Long) As Long

Public Sub GetPort()
On Error Resume Next
Dim TCP As MIB_TCPTABLE
Dim i As Long '控制循环

GetTcpTable TCP, Len(TCP), 1

For i = 0 To TCP.dwNumEntries - 1

'TCP.table(i).dwRemoteAddr ——连接的远程ip

'TCP.table(i).dwRemotePort ——连接的远程端口

'TCP.table(i).dwState ——连接状态

Next
End Sub

但是这个方法仅仅用来监视所有的网络连接情况,不能具体知道是什么程序连接了什么,比如只能知道电脑连接了8000端口,却不知道是OICQ连接的。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
编程实现z=3x +y的值(x,y为无符号数,x=50,y=6
蜂蜜42度波美度含糖量是多少
你好请问NT$7,000.00是多少人民币
下表为几种物质在一个标准大气压下的熔点和沸
vivo x5pro官方原版系统包在哪里下载?
脚长20,平日穿34.35码keds 鞋子us码应该穿多
在小九华山超度婴多少钱
东莞双知厂什么时候发一月份的辞职的工资
安徽川禾投资有限公司怎么样?
〈求 书〉 好久之前看过的一部小说,不过只看
南昌市从火车站乘89路公交车能到八大山人广场
vivoy85和oppoA3该买哪个
“倚声填词”是抑扬顿挫还是字正腔圆
通过姓名查询一个人的信息吗
0.4ml除以多少是0.02ml
推荐资讯
独狼30全集(三十集)电视剧独狼高清dvd下载
请问大家如何在该电源箱中接出一个插座???
我想要一个男神啊
Vfp中skip语句具体实例用法
谁知道穿越火线租号地址
到健鼎的感想作文
上海松江区陆丽华
这是哪一集《美人为馅》
女孩们早上喜欢听什么话题
丰碑中描写自然环境的风雪有什么作用
墙内秋千窗外道,墙外行人墙里佳人笑?什么意
一万块钱三十个点是撒意思
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?