作者zen1229 (水瓶轨迹)
看板Visual_Basic
标题[VB6 ] 如何把座标值传到PORT
时间Fri May 11 15:36:45 2007
请问我们怎麽用GPS去接收座标的值想要传到PORT
然後在用PAPAGO去读取这些座标..让他可以去读取汇出轨迹
现在我们的程式码可以接收对方传过来的值去自动存到记事本
可是在传到PORT我们比较没概念,不知道从着手,麻烦板上的高手大大指导一下
谢谢~~^^
Option Explicit
Private intNowConnect As Integer '设定目前连接之Winsock
Private blnServer As Boolean '判断是否为Server端
Private Sub Command1_Click()
'Server建立连线
Dim I As Integer
For I = 1 To 1 '设定本机连接埠
Winsock1(I).LocalPort = Str(5000 + I) '开始聆听
Winsock1(I).Listen
Next I
blnServer = True
Text3.Enabled = False
Command1.Enabled = False
'Command2.Enabled = False
'Command3.Enabled = True
Dim s As Integer
s = Not CBool(Timer2.Interval)
Command1.Caption = IIf(s, "停止", "Command1")
Timer2.Interval = Abs(s) * 6 * 1000
End Sub
Private Sub Timer2_Timer()
Call Command4_Click
End Sub
Private Sub Command2_Click()
Dim I As Integer 'Client设定连线资讯
For I = 0 To 2 '设定远端IP
Winsock1(I).RemoteHost = Text3.Text '设定远端连接埠
Winsock1(I).RemotePort = Str(5000 + I)
Next I 'Client开使连线
Winsock1(0).Connect
Timer1.Enabled = True
blnServer = False
Text3.Enabled = False
Command1.Enabled = False
'Command2.Enabled = False
'Command3.Enabled = True
End Sub
Private Sub Command3_Click()
Dim I As Integer
'取消连线
For I = 0 To 2
Winsock1(I).Close
Next I
Text3.Enabled = True
Command1.Enabled = True
'Command2.Enabled = True
'Command3.Enabled = False
End Sub
Private Sub Command4_Click()
If FreeFile = 1 Then
Open "C:\Test.txt" For Append As #1
End If
If Text1.Text = "" Then
Close #1
Else
Write #1, Text1.Text,
Close #1
End If
Text1.Text = ""
Command1.Enabled = True
Timer1.Interval = 5000
Timer1.Enabled = True
End Sub
Private Sub Form_Load()
Dim I As Integer
'设定切换Winsock用Timer
Timer1.Enabled = False
Timer1.Interval = 3000
intNowConnect = 0
Text1.Text = ""
'Text2.Text = ""
Text3.Text = "210.71.14.219"
'Text4.Text = "Name"
End Sub
Private Sub Text2_KeyDown(KeyCode As Integer, Shift As Integer)
'呼叫Command4_Click送出对话讯息
If KeyCode = vbKeyReturn Then Call Command4_Click
End Sub
Private Sub Timer1_Timer()
Dim I As Integer
'Client判断是否已连线,若为连线则关闭Timer跳离Sub
'否则切换下一Winsock,继续连线
For I = 0 To 2
If Winsock1(I).State = sckConnected Then
Timer1.Enabled = False
Exit Sub
Else
Winsock1(I).Close
End If
Next I
'切换下一Winsock,继续连线
intNowConnect = intNowConnect + 1
If intNowConnect > 2 Then intNowConnect = 0
Winsock1(intNowConnect).Connect
End Sub
Private Sub Winsock1_Connect(Index As Integer)
'Client端连线成功
Put_Msg Index & " 上线了~"
End Sub
Private Sub Winsock1_ConnectionRequest(Index As Integer, ByVal requestID As
Long)
'Server端接受Client之连线
If Winsock1(Index).State <> sckClosed Then Winsock1(Index).Close
Debug.Print requestID
Winsock1(Index).Accept requestID
Put_Msg Index & " 上线了~"
End Sub
Private Sub Put_Msg(strMsg As String)
'放置对话讯息
Text1.SelStart = Len(Text1.Text)
Text1.SelText = strMsg & vbCrLf
End Sub
Private Sub Winsock1_DataArrival(Index As Integer, ByVal bytesTotal As Long)
Dim I As Integer
Dim strData As String
'撷取撷取目前的资料区块
Winsock1(Index).GetData strData
Put_Msg strData
'若为Server端,必须再将接收到之讯息传送至其他Client
If blnServer Then
For I = 0 To 2
If I <> Index And Winsock1(I).State = sckConnected Then
Winsock1(I).SendData strData
DoEvents
End If
Next I
End If
End Sub
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 210.71.14.219
1F:推 MrOrz:请问「传到port」是什麽意思@@? 05/11 23:33