1. 业奇农业网 > 百科 >

什么软件使用端口UDP

两台电脑,连接在同一个路由器上。

什么软件使用端口UDP

设发送端电脑为A,接收端为B。server运行在A上,两个客户端client1(使用9012端口)和client2(使用9011端口)运行在B上。

A使用9001端口给B电脑的9012和9011端口发送两条相同的数据包(数据长度为11字节,使用sendto发送,先发送到9012端口,再发送到9011端口)

确认网络状况良好,电脑状况良好,代码无问题:

C/C++ code

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

intlen_head=sizeof(modbus->stx)+sizeof(modbus->address)+sizeof(modbus->command)+sizeof(modbus->len);

intlen_data=modbus->getDataLength();

intlen_tail=sizeof(modbus->fcs);

intlength=len_head+len_data+len_tail;

if(length>MAX_UDP_PACKET_SIZE)

returnX_UDP_TOOMUCH_DATA;

CHAR*pBuf=(CHAR*)_alloca(length);

memcpy(pBuf,modbus,len_head);

if(len_data>0)

memcpy(pBuf+len_head,modbus->data,len_data);

memcpy(pBuf+len_head+len_data,modbus->fcs,len_tail);

inttotal=0;

while(total<length)

{

intsended=sendto(g_socket,pBuf+total,length-total,0,(sockaddr*)addr,sizeof(sockaddr));

if(sended<=0)

break;

total+=sended;

}

returntotal==length?X_UDP_OK:X_UDP_WRITE_FAILED;

现在碰到的问题是:

server程序刚启动时,server发送到client1和client2的指令均可以被成功接收;如果一直发送(每次都是先给client1发送,接着马上给client2发送)没有问题;

但是如果server软件间隔几十分钟不操作后,server再次发送指令到client1和client2,会发现client1无法接收到任何数据,而client2正常接收。再次操作,发送client1和client2都可以正常接收。

用SNIFFER运行在B电脑上监控网络数据,发现只有一个发到9011端口的UDP包,而发往9012端口的包无影无踪。在发到9011端口的数据包前有一个WINSNameService包(这个应该没有影响)。

用IRIS软件监控A电脑上的数据,亦只有发现一个发往B电脑9011端口的UDP包,发往9012端口的包在server段亦未监控到。

在代码内有OutputDebugString辅助调试,可以确认有调用sendto给B电脑的9012端口发数据。

对于采用Windows

2000或者Windows

XP的用户来说,不需要安装任何其他软件,可以利用“TCP/IP筛选”功能限制服务器的端口。具体设置如下:

1、右键点击“网上邻居”,选择“属性”,然后双击“本地连接”(如果是拨号上网用户,选择“我的连接”图标),弹出“本地连接状态”对话框。

2、点击[属性]按钮,弹出“本地连接属性”,选择“此连接使用下列项目”中的“Internet协议(TCP/IP)”,然后点击[属性]按钮。

3、在弹出的“Internet协议(TCP/IP)”对话框中点击[高级]按钮。在弹出的“高级TCP/IP设置”中,选择“选项”标签,选中“TCP/IP筛选”,然后点击[属性]按钮。

4、在弹出的“TCP/IP筛选”对话框里选择“启用TCP/IP筛选”的复选框,然后把左边“TCP端口”上的“只允许”选上(请见附图)。

这样,您就可以来自己添加或删除您的TCP或UDP或IP的各种端口了。

添加或者删除完毕,重新启动机器以后,您的服务器就被保护起来了。

如果只上网浏览的话,可以不添加任何端口。但是要利用一些网络联络工具,比如OICQ的话,就要把“4000”这个端口打开,同理,如果发现某个常用的网络工具不能起作用的时候,请搞清它在您主机所开的端口,然后在“TCP/IP筛选”中添加端口即可。

本文由用户上传,如有侵权请联系删除!转转请注明出处:https://nongye.s666.cn/bk/6_6572053372.html