是在局域网内实现的通讯
01. 是不是建立几个连接就需要几个Winsock
02.自己有服务器的话如何做呢?是不是简单很多?具体怎样做?
03.自己没有服务器怎么做?
VBå¯éè¿éè¿å建Winsockæ§ä»¶æ°ç»ï¼ä½¿ç¨ä¸ä¸ªæ§ä»¶Winsockä¹å¯ä»¥åæ¶æ¥åå¤ä¸ªè¿æ¥è¯·æ±ãä¸éè¦å ³éè¿æ¥ï¼èåªéå建æ°çæ§ä»¶å®ä¾ï¼éè¿è®¾ç½®å ¶ç´¢å¼å±æ§ï¼ï¼ç¶åå¨æ°çå®ä¾ä¸è°ç¨ Accept æ¹æ³ã
æä¾äºè®¿é® TCP å UDP ç½ç»æå¡çæ¹ä¾¿éå¾ãMicrosoft AccessãVisual BasicãVisual C++ æ Visual FoxPro çå¼å人åé½å¯ä½¿ç¨å®ã为ç¼å客æ·ææå¡å¨åºç¨ç¨åºï¼ä¸å¿ äºè§£ TCP çç»èæè°ç¨ä½çº§ç Winsock APIsãéè¿è®¾ç½®æ§ä»¶çå±æ§å¹¶è°ç¨å ¶æ¹æ³å°±å¯è½»æè¿æ¥å°ä¸å°è¿ç¨æºå¨ä¸å»ï¼å¹¶ä¸è¿å¯åå交æ¢æ°æ®ã
代ç å®ä¾ï¼
ä¸é¢ç代ç åå®å为 sckServer ççªä½ä¸æä¸ä¸ª Winsock æ§ä»¶ï¼å®ç Index å±æ§è¢«è®¾ç½®ä¸º0ï¼å æ¤æ§ä»¶æ¯æ§ä»¶æ°ç»çä¸é¨åãå¨å£°æé¨åï¼å£°æäºä¸ä¸ªæ¨¡å级çåé intMaxãå¨çªä½ç Load äºä»¶ä¸ï¼intMax 被设置为 0ï¼æ°ç»ä¸ç¬¬ä¸ä¸ªæ§ä»¶ç
LocalPort å±æ§è¢«è®¾ç½®ä¸º 1001ãç¶åè°ç¨æ§ä»¶ç Listen æ¹æ³ï¼ä½¿ä¹æ为âçå¬âæ§ä»¶ãå¨è¿æ¥è¯·æ±å°è¾¾æ¶ï¼ä»£ç å°æ£æµ Index æ¯å¦ä¸º 0ï¼âçå¬âæ§ä»¶çå¼ï¼ãå¦æ为 0ï¼çå¬æ§ä»¶å°å¢å intMax çå¼ï¼å¹¶ä½¿ç¨è¯¥å·ç æ¥å建æ°çæ§ä»¶å®ä¾ãç¶åï¼ä½¿ç¨æ°çæ§ä»¶å®ä¾æ¥åè¿æ¥è¯·æ±
Option Explicit
Private intMax As Long
Private Sub Form_Load()
intMax = 0
sckServer(0).LocalPort = 1001
sckServer(0).Listen
End Sub
Private Sub sckServer_ConnectionRequest _
(Index As Integer, ByVal requestID As Long)
If Index = 0 Then
intMax = intMax + 1
Load sckServer(intMax)
sckServer(intMax).LocalPort = 0
sckServer(intMax).Accept requestID
Load txtData(intMax)
End If
End Sub