利用winsock,协议类型upd,在A 电脑上发送消请教息,B电脑接收消息,大部电脑正常,个别电脑收不到?
请教利用winsock,协议类型upd,在A 电脑上发送消息,B电脑接收消息,大部电脑正常,个别电脑收不到?代码应该没有问题,应该个别电脑系统问题,从那些方面找原因?有什么工具测试修改吗?谢谢
[此贴子已经被作者于2025-10-19 20:47编辑过]
程序代码:
**************************************************
*-- Form: form1 (d:\documents\visual foxpro 项目\udptest1.scx)
*-- 父类: form
*-- 基类: form
*-- 时间戳: 10/19/25 10:12:05 PM
*
DEFINE CLASS form1 AS form
Top = 0
Left = 0
DoCreate = .T.
Caption = "本地端口58002"
Name = "Form1"
ADD OBJECT olecontrol1 AS olecontrol WITH ;
Top = 12, ;
Left = 324, ;
Height = 100, ;
Width = 100, ;
Name = "Olecontrol1"
ADD OBJECT label1 AS label WITH ;
AutoSize = .T., ;
Caption = "远程ip:", ;
Height = 16, ;
Left = 12, ;
Top = 15, ;
Width = 50, ;
Name = "Label1"
ADD OBJECT text1 AS textbox WITH ;
Value = 192.168.1.7, ;
Height = 20, ;
Left = 72, ;
Top = 12, ;
Width = 100, ;
Name = "Text1"
ADD OBJECT label2 AS label WITH ;
AutoSize = .T., ;
Caption = "远程端口:", ;
Height = 16, ;
Left = 12, ;
Top = 51, ;
Width = 62, ;
Name = "Label2"
ADD OBJECT text2 AS textbox WITH ;
Alignment = 3, ;
Value = 58001, ;
Height = 20, ;
Left = 72, ;
Top = 48, ;
Width = 100, ;
Name = "Text2"
ADD OBJECT label3 AS label WITH ;
AutoSize = .T., ;
Caption = "本地ip:", ;
Height = 16, ;
Left = 12, ;
Top = 88, ;
Width = 50, ;
Name = "Label3"
ADD OBJECT text3 AS textbox WITH ;
Value = 192.168.1.7, ;
Height = 20, ;
Left = 72, ;
Top = 85, ;
Width = 100, ;
Name = "Text3"
ADD OBJECT label4 AS label WITH ;
AutoSize = .T., ;
Caption = "本地端口:", ;
Height = 16, ;
Left = 12, ;
Top = 124, ;
Width = 62, ;
Name = "Label4"
ADD OBJECT text4 AS textbox WITH ;
Alignment = 3, ;
Value = 50082, ;
Height = 20, ;
Left = 72, ;
Top = 121, ;
Width = 100, ;
Name = "Text4"
ADD OBJECT edit1 AS editbox WITH ;
Height = 84, ;
Left = 12, ;
Top = 156, ;
Width = 228, ;
Name = "Edit1"
ADD OBJECT command1 AS commandbutton WITH ;
Top = 168, ;
Left = 288, ;
Height = 25, ;
Width = 73, ;
Caption = "发 送", ;
Name = "Command1"
PROCEDURE olecontrol1.DataArrival
*** ActiveX 控件事件 ***
LPARAMETERS bytestotal
cdata=REPLICATE(CHR(0),bytestotal)
this.object.getData(@cdata)
thisform.edit1.Value="收到数据:"+CHR(13)
thisform.edit1.Value=thisform.edit1.Value+cdata
ENDPROC
PROCEDURE olecontrol1.Init
this.obJECT.Bind(58002)
ENDPROC
PROCEDURE command1.Click
IF !EMPTY(thisform.edit1.Value)
thisform.olecontrol1.remoteHost=thisform.text1.value
thisform.olecontrol1.object.SendData(thisform.edit1.Value)
thisform.edit1.Value=""
ENDIF
ENDPROC
ENDDEFINE
*
*-- EndDefine: form1
**************************************************
程序代码:
**************************************************
*-- Form: form1 (d:\documents\visual foxpro 项目\udptest2.scx)
*-- 父类: form
*-- 基类: form
*-- 时间戳: 10/19/25 10:12:06 PM
*
DEFINE CLASS form1 AS form
Top = 0
Left = 0
DoCreate = .T.
Caption = "本地端口58001"
Name = "Form1"
ADD OBJECT olecontrol1 AS olecontrol WITH ;
Top = 12, ;
Left = 324, ;
Height = 100, ;
Width = 100, ;
Name = "Olecontrol1"
ADD OBJECT label1 AS label WITH ;
AutoSize = .T., ;
Caption = "远程ip:", ;
Height = 16, ;
Left = 12, ;
Top = 15, ;
Width = 50, ;
Name = "Label1"
ADD OBJECT text1 AS textbox WITH ;
Value = 192.168.1.7, ;
Height = 20, ;
Left = 72, ;
Top = 12, ;
Width = 100, ;
Name = "Text1"
ADD OBJECT label2 AS label WITH ;
AutoSize = .T., ;
Caption = "远程端口:", ;
Height = 16, ;
Left = 12, ;
Top = 51, ;
Width = 62, ;
Name = "Label2"
ADD OBJECT text2 AS textbox WITH ;
Alignment = 3, ;
Value = 58002, ;
Height = 20, ;
Left = 72, ;
Top = 48, ;
Width = 100, ;
Name = "Text2"
ADD OBJECT label3 AS label WITH ;
AutoSize = .T., ;
Caption = "本地ip:", ;
Height = 16, ;
Left = 12, ;
Top = 88, ;
Width = 50, ;
Name = "Label3"
ADD OBJECT text3 AS textbox WITH ;
Value = 192.168.1.7, ;
Height = 20, ;
Left = 72, ;
Top = 85, ;
Width = 100, ;
Name = "Text3"
ADD OBJECT label4 AS label WITH ;
AutoSize = .T., ;
Caption = "本地端口:", ;
Height = 16, ;
Left = 12, ;
Top = 124, ;
Width = 62, ;
Name = "Label4"
ADD OBJECT text4 AS textbox WITH ;
Alignment = 3, ;
Value = 58001, ;
Height = 20, ;
Left = 72, ;
Top = 121, ;
Width = 100, ;
Name = "Text4"
ADD OBJECT edit1 AS editbox WITH ;
Height = 84, ;
Left = 12, ;
Top = 156, ;
Width = 228, ;
Name = "Edit1"
ADD OBJECT command1 AS commandbutton WITH ;
Top = 168, ;
Left = 288, ;
Height = 25, ;
Width = 73, ;
Caption = "发 送", ;
Name = "Command1"
PROCEDURE olecontrol1.DataArrival
*** ActiveX 控件事件 ***
LPARAMETERS bytestotal
cdata=REPLICATE(CHR(0),bytestotal)
this.object.getData(@cdata)
thisform.edit1.Value="收到数据:"+CHR(13)
thisform.edit1.Value=thisform.edit1.Value+cdata
ENDPROC
PROCEDURE olecontrol1.Init
this.object.Bind(58001)
ENDPROC
PROCEDURE command1.Click
IF !EMPTY(thisform.edit1.Value)
thisform.olecontrol1.remoteHost=thisform.text1.value
thisform.olecontrol1.object.SendData(thisform.edit1.Value)
thisform.edit1.Value=""
ENDIF
ENDPROC
ENDDEFINE
*
*-- EndDefine: form1
**************************************************
[此贴子已经被作者于2025-10-19 22:27编辑过]