• Vui lòng đọc nội qui diễn đàn để tránh bị xóa bài viết
  • Tìm kiếm trước khi đặt câu hỏi

Form bị đơ khi kết nối internet

Nơi trao đổi về các vấn đề trong lập trình Windows Forms, Console dùng cú pháp ngôn ngữ Visual Basic .NET và C#

Điều hành viên: tungblt, vuathongtin

kedatinh233
Thành viên chính thức
Thành viên chính thức
Bài viết: 18
Ngày tham gia: T.Ba 23/12/2008 9:26 am

Form bị đơ khi kết nối internet

Gửi bàigửi bởi kedatinh233 » T.Năm 12/05/2011 6:22 pm

VB.NET: Cho mình hỏi có cách nào làm Form không bị treo khi mình kết nối vào mạng không vậy.



Hình đại diện của người dùng
vo_minhdat2007
Quản trị
Quản trị
Bài viết: 2227
Ngày tham gia: CN 17/07/2005 1:40 am
Has thanked: 13 time
Been thanked: 87 time
Liên hệ:

Re: Form bị đơ khi kết nối internet

Gửi bàigửi bởi vo_minhdat2007 » T.Năm 12/05/2011 6:47 pm

Kết nối là sao, download, upload hay làm gì? Bạn thử cho thủ tục đó vào 1 thread khác là được.

Hình đại diện của người dùng
dazzlingvit
Guru
Guru
Bài viết: 960
Ngày tham gia: T.Ba 18/01/2011 10:21 am
Đến từ: Sinh ra từ hư vô, sống trong thế giới ảo...
Has thanked: 7 time
Been thanked: 112 time
Liên hệ:

Re: Form bị đơ khi kết nối internet

Gửi bàigửi bởi dazzlingvit » T.Năm 12/05/2011 9:36 pm

kedatinh233 đã viết:VB.NET: Cho mình hỏi có cách nào làm Form không bị treo khi mình kết nối vào mạng không vậy.

Bạn nghiên cứu về Multi-thread nhé ;)
Khi đó việc kết nối Internet sẽ được xử lý song song với ctrình của bạn (nôm na là giống như đa nhiệm của HĐH ấy).
Dazzling V.I.T
Hãy gọi tôi là vịt :)

Hình đại diện của người dùng
vo_minhdat2007
Quản trị
Quản trị
Bài viết: 2227
Ngày tham gia: CN 17/07/2005 1:40 am
Has thanked: 13 time
Been thanked: 87 time
Liên hệ:

Re: Form bị đơ khi kết nối internet

Gửi bàigửi bởi vo_minhdat2007 » T.Năm 12/05/2011 9:42 pm

Thực ra cho vào thread khác chưa hẳn đã giải quyết vấn đề. Trước đây mình và anh Hoàng Thư đã gặp tình trạng dùng DownloadFile của namespace My, dù đã gọi trong thread khác vẫn treo chương trình. Vì vậy mình mới hỏi thao tác Internet gì. Hồi trước cuối cùng anh Hoàng Thư cũng giải quyết được, như lại giữ bí quyết mất rồi :(

Hình đại diện của người dùng
bangnhatquang68
Guru
Guru
Bài viết: 791
Ngày tham gia: T.Ba 26/01/2010 12:44 pm
Đến từ: Vĩ tuyến 17
Has thanked: 20 time
Been thanked: 38 time
Liên hệ:

Re: Form bị đơ khi kết nối internet

Gửi bàigửi bởi bangnhatquang68 » T.Sáu 13/05/2011 2:59 pm

ứng dụng (tiếng anh nhé).dovent()
Mời anh em lên facebook giao lưu nào!
http://www.facebook.com/groups/145823032176611/

kedatinh233
Thành viên chính thức
Thành viên chính thức
Bài viết: 18
Ngày tham gia: T.Ba 23/12/2008 9:26 am

Re: Form bị đơ khi kết nối internet

Gửi bàigửi bởi kedatinh233 » CN 15/05/2011 9:48 am

ví dụ như mình kết nối mạng để đọc mã nguồn của trang web, lúc đó Form bi đơ. có ai giải quyết không vậy.

Hình đại diện của người dùng
TheDark
Guru
Guru
Bài viết: 188
Ngày tham gia: T.Năm 04/11/2010 3:56 pm
Đến từ: Mang Thít - Vĩnh Long
Has thanked: 6 time
Been thanked: 33 time

Re: Form bị đơ khi kết nối internet

Gửi bàigửi bởi TheDark » CN 15/05/2011 10:43 am

Vậy là download file! Mình cũng từng gặp! Nhưng mình thấy vẫn đề nan giải này không cấp thiết lắm nên bỏ qua. Mã nguồn trang web (không có multimedia, toàn text) chỉ có vài kb. Form chỉ bị đở (không treo, ứng dụng vẫn chạy) trong lúc download thôi. Nhưng nháy mắt là download xong ùi!! Form trở lại bình thường :D

kedatinh233
Thành viên chính thức
Thành viên chính thức
Bài viết: 18
Ngày tham gia: T.Ba 23/12/2008 9:26 am

Re: Form bị đơ khi kết nối internet

Gửi bàigửi bởi kedatinh233 » CN 15/05/2011 11:08 am

mình đã làm được rồi, form không bị đơ nữa, dùng <thread> vẫn đọc được mã nguồn mà form vẫn chạy bình thường.
cho mình hỏi thêm 1 chút:
Thread.Start() để bắt đầu vậy làm thế nào để kết thúc Thread vậy?

Hình đại diện của người dùng
vo_minhdat2007
Quản trị
Quản trị
Bài viết: 2227
Ngày tham gia: CN 17/07/2005 1:40 am
Has thanked: 13 time
Been thanked: 87 time
Liên hệ:

Re: Form bị đơ khi kết nối internet

Gửi bàigửi bởi vo_minhdat2007 » CN 15/05/2011 11:42 am

Hình như là .Suspend thì phải.

kedatinh233
Thành viên chính thức
Thành viên chính thức
Bài viết: 18
Ngày tham gia: T.Ba 23/12/2008 9:26 am

Re: Form bị đơ khi kết nối internet

Gửi bàigửi bởi kedatinh233 » CN 15/05/2011 12:32 pm

không được bạn ơi.

Hình đại diện của người dùng
vo_minhdat2007
Quản trị
Quản trị
Bài viết: 2227
Ngày tham gia: CN 17/07/2005 1:40 am
Has thanked: 13 time
Been thanked: 87 time
Liên hệ:

Re: Form bị đơ khi kết nối internet

Gửi bàigửi bởi vo_minhdat2007 » CN 15/05/2011 1:14 pm

À xin lỗi, Suspend đã bị MS gỡ ra rồi

Suspend: Obsolete. Either suspends the thread, or if the thread is already suspended, has no effect.

Bạn thay bằng cái này:

Abort: Raises a ThreadAbortException in the thread on which it is invoked, to begin the process of terminating the thread. Calling this method usually terminates the thread.

kedatinh233
Thành viên chính thức
Thành viên chính thức
Bài viết: 18
Ngày tham gia: T.Ba 23/12/2008 9:26 am

Re: Form bị đơ khi kết nối internet

Gửi bàigửi bởi kedatinh233 » CN 15/05/2011 4:03 pm

Cũng không được nhưng cũng rất cảm ơn bạn

  1. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  2.  
  3.         Thread.Start()
  4. End Sub

kích làm đầu thì được nhưng kích lần thứ 2 thì báo lỗi "Thread is running or terminated; it cannot restart." mặc dù đã thread.Abort rồi.
Sửa lần cuối bởi kedatinh233 vào ngày T.Hai 16/05/2011 7:14 am với 1 lần sửa.

Hình đại diện của người dùng
vo_minhdat2007
Quản trị
Quản trị
Bài viết: 2227
Ngày tham gia: CN 17/07/2005 1:40 am
Has thanked: 13 time
Been thanked: 87 time
Liên hệ:

Re: Form bị đơ khi kết nối internet

Gửi bàigửi bởi vo_minhdat2007 » CN 15/05/2011 4:44 pm

Tất nhiên, đã Abort rồi mà lại gọi Start thì nó lỗi, bạn phải khởi tạo Thread khác chứ!

Hình đại diện của người dùng
vo_minhdat2007
Quản trị
Quản trị
Bài viết: 2227
Ngày tham gia: CN 17/07/2005 1:40 am
Has thanked: 13 time
Been thanked: 87 time
Liên hệ:

Re: Form bị đơ khi kết nối internet

Gửi bàigửi bởi vo_minhdat2007 » CN 15/05/2011 5:20 pm

Bạn vui lòng cho code vào thẻ đúng nội qui.

kedatinh233
Thành viên chính thức
Thành viên chính thức
Bài viết: 18
Ngày tham gia: T.Ba 23/12/2008 9:26 am

Re: Form bị đơ khi kết nối internet

Gửi bàigửi bởi kedatinh233 » T.Hai 16/05/2011 7:22 am

em khia báo thế này
  1. Public Class Form1
  2.  
  3.     Dim Thread As New System.Threading.Thread(AddressOf MultiThread)

và bắt đầu Thread qua sự kiện
  1.  Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  2.                Thread.Start()
  3.     End Sub


  1.  Private Sub MultiThread()
  2.         Dim respHTML As String
  3.         Dim path As String
  4.         path = "http://www.google.com.vn"
  5.  
  6.         Try
  7.             Dim wReq As WebRequest = WebRequest.Create(path)
  8.             If TypeOf wReq Is HttpWebRequest Then
  9.             End If
  10.             Dim wResp As WebResponse = wReq.GetResponse()
  11.             Dim respStream As Stream = wResp.GetResponseStream()
  12.             Dim reader As StreamReader = New StreamReader(respStream, Encoding.UTF8)
  13.             respHTML = reader.ReadToEnd()
  14.         Catch ex As Exception
  15.             respHTML = "<HTML></HTML>"
  16.         End Try
  17.         If Thread.IsAlive Then
  18.             'MsgBox("xong")
  19.             d = respHTML
  20.             xong = True
  21.             Exit Sub
  22.         End If
  23.     End Sub

vậy đó giờ phải khởi tạo lại biến như thế nào?

Hình đại diện của người dùng
tiensever
Thành viên tích cực
Thành viên tích cực
Bài viết: 109
Ngày tham gia: T.Ba 27/07/2010 10:30 pm
Has thanked: 1 time
Liên hệ:

Re: Form bị đơ khi kết nối internet

Gửi bàigửi bởi tiensever » T.Hai 16/05/2011 2:21 pm

bạn ơi có tài liệu hướng dẫn đọc file html chi tiết ko, cho mình xin với, càng chi tiết càng tốt :d

Hình đại diện của người dùng
vo_minhdat2007
Quản trị
Quản trị
Bài viết: 2227
Ngày tham gia: CN 17/07/2005 1:40 am
Has thanked: 13 time
Been thanked: 87 time
Liên hệ:

Re: Form bị đơ khi kết nối internet

Gửi bàigửi bởi vo_minhdat2007 » T.Hai 16/05/2011 2:32 pm

Xách cái khởi tạo New xuống phía trên dòng Start.

kedatinh233
Thành viên chính thức
Thành viên chính thức
Bài viết: 18
Ngày tham gia: T.Ba 23/12/2008 9:26 am

Re: Form bị đơ khi kết nối internet

Gửi bàigửi bởi kedatinh233 » T.Ba 17/05/2011 8:32 am

tiensever đã viết:bạn ơi có tài liệu hướng dẫn đọc file html chi tiết ko, cho mình xin với, càng chi tiết càng tốt :d

không bạn à, mình cũng đang mù về vấn đề này. làm mãi không xong

violetlotous
Thành viên tích cực
Thành viên tích cực
Bài viết: 101
Ngày tham gia: T.Tư 23/04/2008 9:58 am
Has thanked: 8 time
Been thanked: 1 time

Re: Form bị đơ khi kết nối internet

Gửi bàigửi bởi violetlotous » T.Năm 02/08/2012 11:58 am

vo_minhdat2007 đã viết:Thực ra cho vào thread khác chưa hẳn đã giải quyết vấn đề. Trước đây mình và anh Hoàng Thư đã gặp tình trạng dùng DownloadFile của namespace My, dù đã gọi trong thread khác vẫn treo chương trình. Vì vậy mình mới hỏi thao tác Internet gì. Hồi trước cuối cùng anh Hoàng Thư cũng giải quyết được, như lại giữ bí quyết mất rồi :(


giải quyết vấn đề này thế nào vậy bạn. rất mong bạn giúp

TingTook
Thành viên danh dự
Thành viên danh dự
Bài viết: 74
Ngày tham gia: T.Sáu 27/05/2011 6:07 am
Has thanked: 1 time
Been thanked: 10 time

Re: Form bị đơ khi kết nối internet

Gửi bàigửi bởi TingTook » T.Năm 02/08/2012 12:33 pm

dùng System.Net.WebClient ấy
trong đấy có đủ các kiểu phương thức Download
kết hợp các hàm DownloadFileAsync, DownloadStringAsync... với multithread là ổn thôi


Quay về “Visual Basic .NET và C# (VB.NET & C#)”

Đang trực tuyến

Đang xem chuyên mục này: Không có thành viên nào trực tuyến.7 khách