麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

用VB實現聊天討論室和點對點會話

2019-11-18 17:35:58
字體:
來源:轉載
供稿:網友
在一個單位內部或通過廣域協議(如X.25)互聯的行業內部都有幾十或上萬臺計算機互聯,用Intranet雖然可以建立聊天室,但實現點對點實時對話卻比較困難。本人用Winsock和VB自制了一套聊天室和對話系統,特拿來供同行們參考。

一·Winsock的主要屬性、事件和方法

Winsock是不可見控件,控件文件名是MSWINSCK.OCX,全稱為Mcirosoftwinsockcontrol,使用時要將此控件調入工具箱。

1·屬性:①PRotocol=0//使用TCP協議;

②RemoteHost//準備連接遠程機的
Else

Text2.Text=Text2.Text i

EndIf

Text2.SelStart=Len(Text2.Text)

Send.MousePointer=0

Combo1.Enabled=False

Comm2.Caption="斷開連接"

Text1.SetFocus

EndSub



PrivateSuba_Error(ByValNumberAsInteger,DescriptionAsString,ByValScodeAsLong,ByValSourceAsString,ByValHelpFileAsString,ByValHelpContextAsLong,CancelDisplayAsBoolean)

flag=False

Timer1.Enabled=False

Comm2.MousePointer=0

Form1.MousePointer=0

MsgBox"網絡連接失敗!"

Label3.Caption="等待連接"

Combo1.Enabled=True

Combo1.SetFocus

a.Close

Comm2.Caption="連接"

EndSub



PrivateSubComm1_Click()

a.Close注釋:關閉連接

Form1.WindowState=1

EndSub



PrivateSubComm2_Click()

IfComm2.Caption="斷開連接"Then

a.Close

Comm2.Caption="連接"

Label3.Caption="等待連接"

Combo1.Enabled=True

Timer1.Enabled=False

Comm2.MousePointer=0

Form1.MousePointer=0

Else

Text2.Text=""

Label3.Caption="正在連接.."

Comm2.MousePointer=11

Form1.MousePointer=11

Timer1.Enabled=True

flag=False

a.Protocol=sckTCPProtocol

a.RemoteHost=Combo1.Text

a.RemotePort=3000

a.Connect

EndIf

EndSub



PrivateSubForm_DblClick()

IfMsgBox("關閉本聊天室!確認嗎?",36,"退出系統")=6Then

End

Else

Form1.WindowState=1

EndIf

EndSub



PrivateSubForm_Load()

IfApp.PrevInstanceThen

MsgBox"本系統已經加載,請看任務攔!",48,"提示"

End

EndIf

flag=False

LoadForm2‘讀入form2進入監聽

EndSub



PrivateSubSend_Click()

DimSAsString

OnErrorGoToffff‘防止鏈路中斷

Send.MousePointer=11

IfRight(Text1.Text,1)<>Chr(10)Then

S=Text1.Text Chr(13) Chr(10)

Else

S=Text1.Text

EndIf

IfflagThen

a.SendDataS

EndIf

ExitSub

ffff:

MsgBox"連接中斷!",48,"提示"

a.Close

Send.MousePointer=0

Comm2.Caption="連接"

Label3.Caption="等待連接"

Combo1.Enabled=True

Comm2.MousePointer=0

Form1.MousePointer=0

ExitSub

EndSub



PrivateSubTimer1_Timer()

flag=False

Timer1.Enabled=False

Comm2.MousePointer=0

Form1.MousePointer=0

MsgBox"網絡連接失敗(超時)!"

Label3.Caption="等待連接"

Combo1.Enabled=True

Combo1.SetFocus

a.Close

Comm2.Caption="連接"

EndSub



⑶在Form2的各控件事件中加入如下代碼:

Constmaxn=200‘最大同時連接本機的客戶數

Dimuser(maxn)AsBoolean



PrivateSubCommand1_Click()

Form2.Hide

EndSub



PrivateSubCommand2_Click()

LoadForm1

Form1.Show

EndSub



PrivateSubForm_Load()

Dimstr1AsString

Form2.Caption="雷萌通信軟件"

注釋:winsock控件a作為服務器程序監聽

a.LocalPort=3000

a.Listen

EndSub



PrivateSuba_ConnectionRequest(ByValrequestIDAsLong)

DimiAsLong

Fori=1Tomaxn‘當一客戶請求時給啟動一Winsock控件標志號

IfNotuser(i)Then

user(i)=True

ExitFor

EndIf

Nexti

Ifi>maxnThen

ExitSub

EndIf

Loadb(i)‘當一客戶請求時啟動一Winsock控件

b(i).AcceptrequestID注釋:實際建立連接

IfText1.Text=""Then注釋:發送數據

b(i).SendDataChr(0)

Else

b(i).SendDataText1.Text

EndIf

Form2.Show

EndSub



PrivateSubs_Close(IndexAsInteger)

b(Index).Close注釋:關閉連接

Unloadb(Index)注釋:卸載一個WinSock控件

user(Index)=False

EndSub

PrivateSubb_DataArrival(IndexAsInteger,ByValbytesTotalAsLong)

DimstrAsString

DimiAsLong

b(Index).GetDatastr

Text1.Text=Text1.Text str

Fori=1Tomaxn

Ifuser(i)Then

b(i).SendDatastr

EndIf

Nexti

EndSub

三·運行

本程序在VB6.0中編譯通過,運行后最小化到任務欄上,也可以用API的Shell_Notifyicon函數做入右下角的指示器欄中常駐內存。你可以在網絡中用一個固定的機器地址作為聊天討論室,其他用戶都選該機地址連接進入該室聊天或討論。各用戶也可選各自熟悉的地址進行連接對話,雙擊form1空白處從內存中撤出系統。根據同樣的原理可以制作電子郵件系統。->


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 黄污视频在线看 | 黄色片免费在线 | 久久精品小短片 | 国产精品一区视频 | 国产精品av久久久久久无 | 成人在线视频免费看 | 久色免费 | 特黄一级小说 | 欧美精品一二三区 | 色吧综合网 | 国产精品自在线拍 | 欧美成人理论片乱 | 精品成人国产在线观看男人呻吟 | 手机av在线电影 | 中文字幕一区久久 | 免费一级特黄毛片视频 | 国内精品视频饥渴少妇在线播放 | 成人在线视频精品 | 91精品国产91久久久久久蜜臀 | 黄色一级片在线免费观看 | 免费在线观看国产精品 | 午夜a狂野欧美一区二区 | 国产精品区一区二区三区 | 日韩精品久久久 | 成人三级电影网址 | 国产精品久久久久久久久久三级 | 最新一区二区三区 | 视频在线色 | 刘亦菲一区二区三区免费看 | 久久99久久99免费视频 | 在线观看免费毛片视频 | 成人国产精品色哟哟 | 国人精品视频在线观看 | 黄网在线| 久久影城| 久久91亚洲精品久久91综合 | 亚洲天堂在线电影 | 日本中文字幕高清 | 黑人一区二区三区四区五区 | 92看片淫黄大片欧美看国产片 | 毛片成人网 |