ส่วนประกอบซ็อกเก็ตนี้สร้างโดยบริษัทที่พัฒนา jmail
รุ่นเก่ามาก. แต่มันก็ค่อนข้างดี ฉันใช้มันตลอดเวลา
ค่อนข้างมีเสถียรภาพ ก่อนหน้านี้ฉันพบว่า xmlhttp ทำงานได้ไม่ดีบนเซิร์ฟเวอร์ win2003 หากการรับส่งข้อมูลมีขนาดใหญ่ IIS จะเสียหายได้ง่าย ส่วนประกอบนี้ค่อนข้างเสถียร
paraHost =" www.downcodes.com " ' โฮสต์
paraPort = 80 'พอร์ต
paraFileUrl="/test/test.htm"
ตั้งซ็อกเก็ต = CreateObject ("Socket.TCP")
Socket.Host = paraHost & ″ & paraPort
Socket.Timeout = paraTimeout
ถ้า Err.Number <> 0 แล้ว Err.Clear
ซ็อกเก็ต.เปิด
' ข้อผิดพลาดการหมดเวลา = 8000ffff
Socket.SendLine "GET" & paraFileUrl & " HTTP/1.0"
Socket.SendLine "HOST: " & paraHost
ซ็อกเก็ต SendLine ""
ซ็อกเก็ต SendLine ""
'นอน 200
ซ็อกเก็ต WaitForDisconnect
ถ้า Err.Number <> 0 แล้ว
response.write Err.Number & " -- " & Err.Description
Err.Clear
อื่น
response.write HTTPResponse(Socket.Buffer, 1) ' ข้อความเอาต์พุตจากซ็อกเก็ต
สิ้นสุดถ้า
ซอคเก็ตปิด
ตั้งซ็อกเก็ต = ไม่มีเลย
ฟังก์ชั่นส่วนตัว HTTPResponse (ByVal toHTTPResponse, ByVal whichHTTPResponse)
เมื่อเกิดข้อผิดพลาด ดำเนินการต่อต่อไป
Dim HTTPResponseDelimiter
HTTPResponseDelimiter = Chr(13) & Chr(10) & Chr(13) & Chr(10)
ถ้า (InStr(1, toHTTPResponse, HTTPResponseDelimiter, vbBinaryCompare) <> 0) จากนั้น
เลือกกรณีที่ HTTPResponse
กรณีที่ 0 'ส่วนหัว
HTTPResponse = กลาง (toHTTPResponse, 1, (InStr (1, toHTTPResponse, HTTPResponseDelimiter, vbBinaryCompare) - 1))
กรณีที่ 1 'ร่างกาย
HTTPResponse = Mid(toHTTPResponse, (InStr(1, toHTTPResponse, HTTPResponseDelimiter, vbBinaryCompare) + Len(HTTPResponseDelimiter)), (Len(toHTTPResponse) - (InStr(1, toHTTPResponse, HTTPResponseDelimiter, vbBinaryCompare) - 1)))
สิ้นสุดการเลือก
สิ้นสุดถ้า
สิ้นสุดฟังก์ชัน