请教专家个用组合框接收winsock信息的问题?
请教各位专家:用组合框接收winsock收来的信息为什么会出错呢?
我在用VB做服务器和客户端的程序,服务器程序是启动运行后,winsock自动发送服务器程序中除主窗体外的三个窗体的标题文本.然后客户端程序启动运行后,点击窗体上的"连接"按钮后,连接成功后,客户端程序窗体上的winsock控件自动接收发送过来的数据,并把数据用组合框控件的additem方法加入到组合框当中.
我自己写的程序是:
服务器:
winsock1_connectionrequest()
if winsock1.state <>sckclosed then
winsock1.close
winsock1.accept requestid
for i=1 to 3
winsock1.senddata form2.caption
winsock1.senddata form3.caption
winsock1.senddata.form4.caption
next i
endif
end sub
winsock1_close()
winsock1.close
winsock1.listen
end sub
form_load()
winsock1.localport=1010
winsock1.listen
end sub
这些代码是我要做的服务器端的全部代码,已经可以正常运行,并可以启动后自动发送数据.
下面是客户端的程序:
Private Sub Command1_Click()
Winsock1.Connect
Command1.Enabled = False
End Sub
Private Sub Form_Load()
Winsock1.RemoteHost = "192.168.1.250"
Winsock1.RemotePort = 1010
End Sub
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim a As String
Winsock1.GetData a
For i = 1 To 3
Combo1.AddItem a
Combo1.AddItem a
Combo1.AddItem a
Next i
End Sub
这就是整个的客户端程序的全部代码.但运行后,组合框中三行都是连续的服务器端的form2到form4窗体的标题文字.我想让客户端的组合框中三行各占一个窗体的标题文字.不知道代码怎么修改?请高手指教.多谢.可以的话,请高手给出实现这目地的正确代码.
[解决办法]
服务器端这么改
winsock1_connectionrequest() if winsock1.state <>sckclosed then winsock1.close winsock1.accept requestid winsock1.senddata form2.caption & vbCrLf winsock1.senddata form3.caption & vbCrLf winsock1.senddata.form4.caption endifend sub