网络的阶梯第二话:
使用Winsock控件,实现网络点对点通信
blog出现在CSDN,也就blog将不blog也。你会问为什么吧?无论你心里有没有这个问号,但在我心里这是个句号!你又会问为什么吗?好,不管你问不问。我决定,现在作答。但那种长篇大论的前因后果,请恕我无法一一罗列。我只能直接而又间接地说明,blog出现在CSDN,也就blog将不blog也。
使用VB,写过网络程序,没试过Winsock这个控件实在是遗憾(API高手除外)。我想没有朋友有这种遗憾的...呵呵!因为,通过Winsock控件,你可以把网络通信简化简化再简化。那是什么程度?可能就是10行代码以内就行了那种(IDE生成的随外)!因为那只是网络通信,而通信,仅仅就发送一条信息,对方收到了,显示出来。可以算了吧?来看看:
首先,窗口加载过程,我们写上:
'设置了第一个Winsock控件进入等待
Winsock1.LocalPort = 5052
Winsock1.Listen
'再来把第二个Winsock控件连向第一个
Winsock2.Connect "127.0.0.1", 5052
好了,这时Winsock1控件的ConnectionRequest事件触发。我们写上:
If Winsock1.State <> sckClosed Then Winsock1.Close
Winsock1.Accept requestID '接受连接
就这样就连上啦!简单得很。再来:
Winsock1.SendData Text1.Text '把Text1中的文本传给对方
当然了,你传了数据给Winsock2,那它的DataArrival事件也触发了。
Dim strDat As String
Winsock2.GetData strDat '取得数据
Text2.Text = strDat '在Text2中显示出来