winsock初级问题,高手来帮帮
我程序里面只用了一个winsock控件,又作接收,又作发送用.
但是不行,我只好用了两个,就可以了.请问能不能只用一个啊,又作发送,又作接收.
而且这个程序怪就怪在,我是想在本机运行嘛,自已发给自已显示是可以的。往外发一个不存在的地址也是可以的,但是往外发一个局域网内开着的电脑的IP就不行,就要报错。(在tip.text里设置发送对象的IP)
该程序有一个wsksend控件(winsock),一个tip控件(text,用作写发送对象的IP),一个command1按钮,一个tsend控件(text,用着写发送内容),一个tshow控件(text,用作显示接收到的东西)
不行的代码如下,大家帮我看看呢
Private Sub Command1_Click()
wsksend.RemoteHost = Tip.Text
wsksend.SendData tsend.Text
End Sub
Private Sub Form_Load()
wsksend.Protocol = sckUDPProtocol
wsksend.RemoteHost = Tip.Text
wsksend.RemotePort = "1019"
wsksend.LocalPort = "1019"
End Sub
Private Sub wsksend_DataArrival(ByVal bytesTotal As Long)
Dim msg As String
wsksend.GetData msg, vbString
tshow.Text = msg
End Sub
问题点数:20、回复次数:7Top
1 楼junki(『.NET技术争霸天下』)回复于 2006-03-02 08:57:19 得分 0
有个小程序,使用winsock控件来发送文件.
Email:wangkai1314_2000@163.comTop
2 楼wbagas()回复于 2006-03-02 09:00:57 得分 0
我是想让这程序又可当服务端,又可当客户端.结果发一只用一个winsock控件好像不行Top
3 楼wbagas()回复于 2006-03-02 09:19:19 得分 0
高手帮帮呀Top
4 楼baoaya(点头)(大风起兮云飞扬)回复于 2006-03-02 10:48:30 得分 0
发送和接收必须2个套接字才能建立连接,tcp 和 udp 都如此。Top
5 楼baoaya(点头)(大风起兮云飞扬)回复于 2006-03-02 10:54:09 得分 0
把错误的信息帖出来,
偶以前开发过一个使用udp协议,从一个局域网主机经过internet发送数据给另一个局域网内的主机,但是由于NAT设备不同,有些设备也会莫名的报错,具体错误忘记了,但是程序没错。你也有可能是路由器的原因吧。Top
6 楼linming20002000(jack)回复于 2006-03-02 14:22:04 得分 0
要用控件数组,可以实现消息的发送 我这里是tcp连接的
Private Sub ServerSocket_ConnectionRequest(index As Integer, ByVal requestID As Long)
Dim CurNum As Integer
CurNum = getCurrentSockNum
If index = 0 Then
If getMaxSockNum <= CurNum Then
ServerSocket(32766).Close
ServerSocket(32766).Accept requestID
ServerSocket(32766).SendData "连接用户过多"
Else
For i = 1 To getMaxSockNum
If getSockOnUse(i) = False Then
Load ServerSocket(i)
ServerSocket(i).LocalPort = 1300
ServerSocket(i).Accept requestID
Call setSockOnUse(i, True)
Call addSocket
Exit For
End If
Next
End If
End If
End SubTop
7 楼Silo(炽天之翼)回复于 2006-03-02 19:26:11 得分 0
mark-Top




