Это я сделал давно, но это не работает
вот мой код, может так вы поможете мне
Type ListFiles
Field File_Name$
Field File_Size
End Type
Type users
Field StreamCom
End Type
Type Streams
Field StreamDat
End Type
Graphics3D 600, 400, 32, 2
SetBuffer BackBuffer()
AppTitle "Server"
font1 = LoadFont("times new roman", 18, 1)
SetFont font1
NetGame=StartNetGame()
;n = CountHostIPs("")
;ip = HostIP(1)
;IP_addr$=DottedIP$(ip)
myDir=ReadDir("test")
Repeat
File_Name$=NextFile$(myDir)
If File_Name$="" Then Exit
If FileType("test\"+File_Name$) <> 2 Then
f.ListFiles=New ListFiles
f\File_Name=File_Name
f\File_Size=FileSize("test\"+File_Name)
Print f\File_Name+" - "+f\File_Size
End If
Forever
CloseDir myDir
ServCom=CreateTCPServer(8880)
If Not ServCom Then Print "ServCom failed to start." : WaitKey() : End
Print "ServCom started."
ServDat=CreateTCPServer(8881)
If Not ServDat Then Print "ServDat failed to start." : WaitKey() : End
Print "ServDat started."
While Not KeyHit(1)
ServComStream=AcceptTCPStream(ServCom)
If ServComStream Then
u.users = New users
u\StreamCom=ServComStream
Print "User connected To ServCom. IP = "+ DottedIP(TCPStreamIP(u\StreamCom))
End If
ServDatStream=AcceptTCPStream(ServDat)
If ServDatStream Then
us.Streams = New Streams
us\StreamDat=ServDatStream
Print "User connected to ServDat. IP = "+ DottedIP(TCPStreamIP(us\StreamDat))
WriteLine(us\StreamDat,Str(us\StreamDat))
End If
For u.users=Each users
If u\StreamCom Then
If ReadAvail(u\StreamCom)>1 Then
S$=ReadLine(u\StreamCom)
Print S
EndIf
Else
Delete u
EndIf
Next
If S="Get File List" Then
For LF.ListFiles=Each ListFiles
WriteLine (u\StreamCom,"#file="+LF\File_Name+"&"+Str(LF\File_Size))
Next
EndIf
If Left(s,8)="GetFile=" Then
temp=Instr(s,"&")
File_Name$=Mid(s,9,temp-9)
Cli_Stream=Int(Mid(s,temp+1))
File_Size=FileSize("test\"+File_Name)
file=OpenFile("test\"+File_Name)
If Not file Then Print "File not open." : WaitKey() : End
Print "Sending file "+File_Name+"..."
bnk=CreateBank(File_Size)
ReadBytes(bnk,file,0,File_Size)
WriteBytes(bnk,Cli_Stream,0,File_Size)
FreeBank bnk
CloseFile(file)
Print "finish."
EndIf
Wend
End
мне просто нужно сменить ip на реальное, что-бы потестить мой проект с друзьями, а на локальном ip все прекрасно работает.
в клиенте подключение идет через ip которое я напишу.
и я пользуюсь 2ip.ru, но проблема в том, что я не знаю как и где внести public ip в коде