Đăng nhập

View Full Version : Cách làm chương trình Autoupdate IP cho Client khi đưa lên online



nguyenquocbo
15-12-10, 09:01 AM
Dear all
Tham gia Box JX đã lâu,hỏi cũng nhiều nhưng chưa đóng góp được gì cho box cả
Hôm nay xin mạn phép viết tut,các pro nào biết rồi xin đừnh chém

Start (Chỉ áp dụng cho ai đưa lên online thôi nha) :
Như chúng ta đã biết đa số chúng ta đều sử dụng mạng ADSL với IP động,mỗi lần reset modem là IP Public của chúng ta bị thay đổi,khi đó Client sẽ không conect tới server được,lại phải đổi IP thủ công trong file serverlist.ini.
Tut hướng dẫn của tôi sẽ làm nhiệm vụ như sau :
- Tự động lấy IP mới nhất của Domain JX về sau đó update vào file serverlist.ini,update xong sẽ gọi Run Client lên đăng nhập games bình thường.
+ Các công việc cần sử lý :
1.Module get ip from Domain
2.Update một row nào đó trong file text
Ngôn ngữ sử dụng ở đây là VB.NET
Môi trường phát triển VS.NET 2005

Ở đây tôi chỉ Demo thôi nhé
Việc thiết kế một form bắt mắt thì tùy ý tưởng của mỗi người

Bước 1 : Design Form
Chạy Microsoft Visual Studio 2005 File -->New Project -->Chọn project Type là Winform -->Windows form Application -->Đặt tên cho project là Autoupdate.

Lát Tiếp tục ....

<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>

Bắt đầu code :

Sau khi có form như trên chúng ta sẽ viết sự code cho sự kiện form load
(Bấm đúp vào khoảng trống trên form để IDE open ra sự kiện này )
Imports System.IO
Imports System.Net
Public Class Form1
Private Sub FormJX_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim i As Integer
Dim TemIp As String = ""
Dim ipE As IPHostEntry = Dns.GetHostByName("<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>") ' thay cái chữ <b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b> thành tên Domain JX online của bạn nha
Dim IpA() As IPAddress = ipE.AddressList
For i = 0 To IpA.GetUpperBound(0)
TemIp = IpA(i).ToString ' biến TemIP lúc này sẽ lấy được IP Public của chúng ta
Next
'---------------------------------------
Dim path_File_ServerList As String = Application.StartupPath & "\Settings\ServerList.ini"
Dim path_File_ServerList1 As String = Application.StartupPath & "\Settings\ServerList1.ini"
File.Delete(path_File_ServerList1)
Dim TextOfFile As String = ""
If File.Exists(path_File_ServerList) Then
Dim Reader_ As New StreamReader(path_File_ServerList)
While Reader_.Peek <> -1
TextOfFile = Reader_.ReadLine
If InStr(TextOfFile, TemIp) > 0 Then 'trùng ip
File.Delete(path_File_ServerList1)
Exit Sub
Else
Dim RW As New StreamWriter(path_File_ServerList1, True)
Dim DC As String = "Address"
If InStr(TextOfFile, DC) > 0 Then
Dim arr() As String
arr = TextOfFile.Split("=")
Dim STR As String = arr(0) & "=" & TemIp
RW.WriteLine(STR)
Else
RW.WriteLine(TextOfFile)
End If
RW.Close()
End If
End While
Reader_.Close()
File.Delete(path_File_ServerList)
File.Move(path_File_ServerList1, path_File_ServerList)
Else
MsgBox("Không tồn tại file ")
End If
End Sub

Private Sub cmdexit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdexit.Click
Me.Close()
End Sub
End Class

Các bạn test xem thế nào nhé ! đến đây đã có thể thay đổi IP rồi...mức Basic chỉ như vậy là OK...đòi hỏi cao hơn thì sửa lại chút thêm mắm muối là run thôi

Bây giờ đến lựot xử lý nút Run Game trên kia nhỉ !

Nhấp đúp vào nút Run trên Form rồi thêm vào đoạn sau :

Process.Start(Application.StartupPath & "\Game.exe")
Me.Close()

Finish New member nào chưa rõ xin cứ nói,Pro đừng chém !!!!!!!!!!!!!!
Như vậy là không cần quan tâm mỗi khi SV bị change IP rồi nhỉ........Chánh tình trạng đưa lên online SV bị đổi IP người chơi cứ gọi là khóc
Tut sau viết lại cái JX Staup cho Pro hơn nhỉ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Tut đầu tay mong các thành viên ủng hộ kaka

[B.M.W]Sports
15-12-10, 09:13 AM
khi nào xong vậy bác?

nguyenquocbo
15-12-10, 03:20 PM
Định làm tiếp một tool cho anh em test SV cho tiện
Ý tưởng tự change tất cả IP,pass sa trong SV thành một cái mình muốn như vậy tiện hơn là phải mở lần lượt các file ra và thay bằng tay.

DNTmaster
15-12-10, 06:49 PM
Chà chà tools này viết lại chắc cũng dc khối việc tui cũng đang học VB mà toàn là viết soft quản lý thôi vụ net này chưa test để xem thử nào :D

tungblt
16-12-10, 12:37 PM
hê hê ,có autoupdate ip động bằng vb6 ràu đây:">

ohishu
16-12-10, 03:12 PM
Cho Tôi Xin Cái Yahoo Nào
<:-P<:-P<:-P

nguyenquocbo
16-12-10, 03:50 PM
Cho Tôi Xin Cái Yahoo Nào
<:-P<:-P<:-P
Thân gửi bạn ! "<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>" 30 charrrrrrrrrrrrrrrrrrrr

[B.M.W]Sports
16-12-10, 03:56 PM
không hiểu gì hết :D

nguyenquocbo
16-12-10, 03:58 PM
Sports;390941']không hiểu gì hết :D


Mình muốn nói yahoo của mình là : "<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>"
30 char vì ngắn quá hic hic

[B.M.W]Sports
16-12-10, 04:02 PM
Mình muốn nói yahoo của mình là : "<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>"
30 char vì ngắn quá hic hic
ý mình là gà về mấy cái này nên bạn hướng giẩn ở trên không hiểu gì hết
thank:D

Tiến Đạt
16-12-10, 04:03 PM
Sports;390948']
ý mình là gà về mấy cái này nên bạn hướng giẩn ở trên không hiểu gì hết
thank:D


Bạn coppy nguyên cái code của ông sau đó dán vô vb rùi lưu lại .
Sau đó chuyển đổi qua file *.exe là OK thui mà.

[B.M.W]Sports
17-12-10, 05:05 PM
dán vào VB là cái gì ông rỏ hơn chút giùm nha , thank

[B.M.W]Sports
20-12-10, 05:57 AM
sao không có ai hướng giẩn chi tiết chút ta

Čħīċķėň
20-12-10, 08:45 AM
vậy là đủ goy nếu mún thì học vb lun y ;))

[M]r[K]id
28-12-10, 02:50 PM
lên google gõ zô chữ Visual Basic rùi bắt đầu tìm hỉu tìm hỉu vs tìm hỉu

Tiến Đạt
28-12-10, 03:34 PM
Imports System.Net
Public Class Form1
Private Sub FormJX_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim i As Integer
Dim TemIp As String = ""
Dim ipE As IPHostEntry = Dns.GetHostByName("<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>") ' thay cái chữ <b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b> thành tên Domain JX online của bạn nha
Dim IpA() As IPAddress = ipE.AddressList
For i = 0 To IpA.GetUpperBound(0)
TemIp = IpA(i).ToString ' biến TemIP lúc này sẽ lấy được IP Public của chúng ta
Next
'---------------------------------------
Dim path_File_ServerList As String = Application.StartupPath & "\Settings\ServerList.ini"
Dim path_File_ServerList1 As String = Application.StartupPath & "\Settings\ServerList1.ini"
File.Delete(path_File_ServerList1)
Dim TextOfFile As String = ""
If File.Exists(path_File_ServerList) Then
Dim Reader_ As New StreamReader(path_File_ServerList)
While Reader_.Peek <> -1
TextOfFile = Reader_.ReadLine
If InStr(TextOfFile, TemIp) > 0 Then 'trùng ip
File.Delete(path_File_ServerList1)
Exit Sub
Else
Dim RW As New StreamWriter(path_File_ServerList1, True)
Dim DC As String = "Address"
If InStr(TextOfFile, DC) > 0 Then
Dim arr() As String
arr = TextOfFile.Split("=")
Dim STR As String = arr(0) & "=" & TemIp
RW.WriteLine(STR)
Else
RW.WriteLine(TextOfFile)
End If
RW.Close()
End If
End While
Reader_.Close()
File.Delete(path_File_ServerList)
File.Move(path_File_ServerList1, path_File_ServerList)
Else
MsgBox("Không tồn tại file ")
End If
End Sub

Private Sub cmdexit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdexit.Click
Me.Close()
End Sub
End Class

Các bạn test xem thế nào nhé ! đến đây đã có thể thay đổi IP rồi...mức Basic chỉ như vậy là OK...đòi hỏi cao hơn thì sửa lại chút thêm mắm muối là run thôi

Bây giờ đến lựot xử lý nút Run Game trên kia nhỉ !

Nhấp đúp vào nút Run trên Form rồi thêm vào đoạn sau :

Process.Start(Application.StartupPath & "\Game.exe")
Me.Close()



<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>