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
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