PureBasic - форум

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » PureBasic - форум » Вопросы по PureBasic » как сделать сервер(есть пример кода)


как сделать сервер(есть пример кода)

Сообщений 1 страница 13 из 13

1

Код:
If InitNetwork() = 0
  MessageRequester("Error", "Can't initialize the network !", 0)
  End
EndIf

Port = 6832
*Buffer = AllocateMemory(1000)

If CreateNetworkServer(0, Port)

  MessageRequester("PureBasic - Server", "Server created (Port "+Str(Port)+").", 0)
  
  Repeat
      
    SEvent = NetworkServerEvent()
  
    If SEvent
    
      ClientID = EventClient()
  
      Select SEvent
      
        Case #PB_NetworkEvent_Connect
          MessageRequester("PureBasic - Server", "A new client has connected !", 0)
  
        Case #PB_NetworkEvent_Data
          MessageRequester("PureBasic - Server", "Client "+Str(ClientID)+" has send a packet !", 0)
          ReceiveNetworkData(ClientID, *Buffer, 1000)
          MessageRequester("Info", "String: "+PeekS(*Buffer), 0)
  
        Case #PB_NetworkEvent_File
          MessageRequester("PureBasic - Server", "Client "+Str(ClientID)+" has send a file via the network !", 0)
          ReceiveNetworkFile(ClientID, "C:\TEST_Network.ftp3")
  
        Case #PB_NetworkEvent_Disconnect
          MessageRequester("PureBasic - Server", "Client "+Str(ClientID)+" has closed the connection...", 0)
          Quit = 1
    
      EndSelect
    EndIf
    
  Until Quit = 1 
  
  MessageRequester("PureBasic - Server", "Click to quit the server.", 0)
  
  CloseNetworkServer(0)
Else
  MessageRequester("Error", "Can't create the server (port in use ?).", 0)
EndIf

  
End

надо сделать где строка 

Код:
MessageRequester("PureBasic - Server", "new client has connected !", 0)

надо чтобы это не во дельном окне  а допустим в одно если сделать чтобы открывалось окно когда запускаешь и туда пишут  ip того кто подключился когда он(или я) подключился а не одельно

Отредактировано Влад (07.10.2011 08:03:29)

0

2

Код:
If InitNetwork() = 0
  MessageRequester("Error", "Can't initialize the network !", 0)
  End
EndIf

OpenConsole()

Port = 6832
*Buffer = AllocateMemory(1000)

If CreateNetworkServer(0, Port)

  MessageRequester("PureBasic - Server", "Server created (Port "+Str(Port)+").", 0)
  
  Repeat
      
    SEvent = NetworkServerEvent()
  
    If SEvent
    
      ClientID = EventClient()
  
      Select SEvent
      
        Case #PB_NetworkEvent_Connect
          PrintN(IPString(GetClientIP(ClientID)))
          ;MessageRequester("PureBasic - Server", "A new client has connected !", 0)
  
        Case #PB_NetworkEvent_Data
          MessageRequester("PureBasic - Server", "Client "+Str(ClientID)+" has send a packet !", 0)
          ReceiveNetworkData(ClientID, *Buffer, 1000)
          MessageRequester("Info", "String: "+PeekS(*Buffer), 0)
  
        Case #PB_NetworkEvent_File
          MessageRequester("PureBasic - Server", "Client "+Str(ClientID)+" has send a file via the network !", 0)
          ReceiveNetworkFile(ClientID, "C:\TEST_Network.ftp3")
  
        Case #PB_NetworkEvent_Disconnect
          MessageRequester("PureBasic - Server", "Client "+Str(ClientID)+" has closed the connection...", 0)
          Quit = 1
    
      EndSelect
    EndIf
    
  Until Quit = 1 
  
  MessageRequester("PureBasic - Server", "Click to quit the server.", 0)
  
  CloseNetworkServer(0)
Else
  MessageRequester("Error", "Can't create the server (port in use ?).", 0)
EndIf

  
End
Код:
Enumeration
  #Window_0
EndEnumeration
;- Gadget Constants
Enumeration
  #Text_0
  #String_0
  #Button_0
  #Text_2
  #Editor_0
EndEnumeration

Procedure Open_Window_0()
  If OpenWindow(#Window_0, 262, 80, 376, 300, "Сервер для проверки доступности портов",  #PB_Window_Invisible | #PB_Window_MinimizeGadget | #PB_Window_ScreenCentered | #PB_Window_TitleBar )
      StickyWindow(#Window_0, 1)
      TextGadget(#Text_0, 5, 20, 85, 15, "Выберите порт:")
      StringGadget(#String_0, 95, 15, 55, 20, "1234", #PB_String_Numeric)
      ButtonGadget(#Button_0, 158, 12, 210, 24, "Создать сервер")
      TextGadget(#Text_2, 5, 50, 50, 15, "Лог")
      EditorGadget(#Editor_0, 5, 65, 365, 228)
      HideWindow(#Window_0,0)
  EndIf
EndProcedure

Procedure ServerThread(*t)
  *mem=AllocateMemory(65536)
  Repeat
    SEvent = NetworkServerEvent()
    If SEvent
      ClientID = EventClient()
      Select SEvent
        Case #PB_NetworkEvent_Connect
          AddGadgetItem(#Editor_0, -1, "Клиент с IP "+ IPString(GetClientIP(ClientID))+" установил связь с сервером" )
        Case #PB_NetworkEvent_Data
          FillMemory(*mem, 65536, 0, #PB_Byte)
          ReceiveNetworkData(ClientID, *mem, 65536)
          String.s=PeekS(*mem)
          AddGadgetItem(#Editor_0, -1, "Клиент с IP "+ IPString(GetClientIP(ClientID))+" передал данные: "+Chr(34)+String+Chr(34) )
        Case #PB_NetworkEvent_Disconnect
         AddGadgetItem(#Editor_0, -1, "Клиент с IP "+ IPString(GetClientIP(ClientID))+" разорвал связь с сервером" )
      EndSelect
    Else
      Delay(20)
    EndIf
  ForEver
EndProcedure

ProgName.s=GetFilePart(ProgramFilename())

If InitNetwork() = 0
  MessageRequester(ProgName, "Ошибка инициализации сетевой библиотеки!", 16)
  End
EndIf

Open_Window_0()
S_Thread=CreateThread(@ServerThread(),0)

Repeat
  Event=WaitWindowEvent()
  
  If Event=#PB_Event_Gadget
    If EventGadget()=#Button_0
      Port.u=Val(GetGadgetText(#String_0))
      PauseThread(S_Thread)
      If CreateNetworkServer(2, Port, #PB_Network_TCP)
        AddGadgetItem(#Editor_0, -1, "Создан сервер на "+Str(Port)+" порту")
      Else
        MessageRequester(ProgName, "Не удалось создать сервер на "+Str(Port)+" порту"+Chr(10)+"Возможно этот порт используется другой программой!", 16)
      EndIf
      ResumeThread(S_Thread)
    EndIf
  EndIf
  
Until Event=#PB_Event_CloseWindow

0

3

как сойденить программы

Код:
Enumeration
  #Window_0
EndEnumeration

;- Gadget Constants
;
Enumeration
  #Text_0
  #Path
  #Button_Path
  #Frame3D_0
  #Radio_BMP
  #Radio_JPEG
  #Radio_PNG
  #Text_1
  #Spin_0
  #CheckBox_0
  #Text_2
  #Text_3
  #Text_4
  #Text_5
EndEnumeration

;- Fonts
Global FontID1
FontID1 = LoadFont(1, "MS Sans Serif", 8, #PB_Font_Bold)

UseJPEGImageEncoder()
UsePNGImageEncoder()

#ProgName="Skrinhot v1.0"


Procedure IconWidth(Icon) 
  BmpInf.BITMAP:GetIconInfo_(Icon,Info.ICONINFO) 
  GetObject_(Info\hbmColor,SizeOf(BmpInf),BmpInf) 
  ProcedureReturn BmpInf\bmWidth 
EndProcedure 

Procedure IconHeight(Icon) 
  BmpInf.BITMAP:GetIconInfo_(Icon,Info.ICONINFO) 
  GetObject_(Info\hbmColor,SizeOf(BmpInf),BmpInf) 
  ProcedureReturn BmpInf\bmHeight 
EndProcedure 

Procedure ConvertIcon2Image(ImageNr,Icon,IconWidth,IconHeight) 
 
    CreateImage(ImageNr, IconWidth, IconHeight) 
    StartDrawing(ImageOutput(ImageNr)) 
    DrawImage(Icon,0,0) 
    StopDrawing()
EndProcedure 



Procedure SkrinActiveWindow(FileName.s,ImagePlugin,Pak)

 Handle=ForegroundWindowGet()
  If Handle
   WindowSize.RECT 
   GetWindowRect_(Handle, @WindowSize) 
   IconWidth=WindowSize\Right - WindowSize\Left 
   IconHeight=WindowSize\Bottom - WindowSize\Top 
   *Image= CaptureScreenPart(WindowSize\Left, WindowSize\Top, IconWidth,IconHeight) 
  EndIf


If *Image=0
 ProcedureReturn
EndIf

ConvertIcon2Image(1,*Image,IconWidth,IconHeight)

 If IsImage(1)>0
  SaveImage(1,FileName,ImagePlugin,Pak)
 
 EndIf

;FreeMemory(*Image)
EndProcedure




Procedure Open_Window_0()
  If OpenWindow(#Window_0, 275, 242, 383, 276, "Настройки "+#ProgName,  #PB_Window_SystemMenu | #PB_Window_Invisible | #PB_Window_TitleBar | #PB_Window_ScreenCentered )
    If CreateGadgetList(WindowID(#Window_0))
      TextGadget(#Text_0, 15, 15, 105, 15, "Папка для снимков")
      StringGadget(#Path, 15, 30, 325, 20, "")
      ButtonGadget(#Button_Path, 345, 30, 25, 20, "...")
      Frame3DGadget(#Frame3D_0, 15, 70, 325, 85, "Сохранять как")
      OptionGadget(#Radio_BMP, 30, 90, 110, 15, "BMP (без сжатия)")
      OptionGadget(#Radio_JPEG, 30, 110, 105, 15, "JPEG")
      OptionGadget(#Radio_PNG, 30, 130, 110, 15, "PNG")
      TextGadget(#Text_1, 170, 110, 90, 15, "Степень сжатия")
      SpinGadget(#Spin_0, 265, 105, 40, 20, 1, 100)
      CheckBoxGadget(#CheckBox_0, 25, 250, 215, 15, "Добавить программу в автозагрузку")
      TextGadget(#Text_2, 10, 170, 240, 15, "Горячая клавиша для снимка всего экрана —")
      TextGadget(#Text_3, 265, 170, 100, 15, "PrintScreen")
      SetGadgetFont(#Text_3, FontID1)
      TextGadget(#Text_4, 10, 195, 245, 15, "Горячая клавиша для снимка активного окна —")
      TextGadget(#Text_5, 265, 195, 115, 15, "Ctrl + PrintScreen")
      SetGadgetFont(#Text_5, FontID1)
      
    EndIf
  EndIf
EndProcedure


Procedure CreateSkrinAll()
  If GetGadgetState(#Radio_BMP)=1
   Part.s=".BMP" : ImagePlugin=#PB_ImagePlugin_BMP 
  ElseIf  GetGadgetState(#Radio_JPEG)=1
   Part.s=".JPEG" : ImagePlugin=#PB_ImagePlugin_JPEG 
  ElseIf  GetGadgetState(#Radio_PNG)=1
   Part.s=".PNG" : ImagePlugin=#PB_ImagePlugin_PNG  
  EndIf
  
  File.s=GetGadgetText(#Path)+FormatDate("%hh_%ii_%ss", Date())+Part
  CaptureFullScreen()
  SaveCapture(File,ImagePlugin,GetGadgetState(#Spin_0)/10)
EndProcedure

Procedure CreateSkrinWindow()

  If GetGadgetState(#Radio_BMP)=1
   Part.s=".BMP" : ImagePlugin=#PB_ImagePlugin_BMP 
  ElseIf  GetGadgetState(#Radio_JPEG)=1
   Part.s=".JPEG" : ImagePlugin=#PB_ImagePlugin_JPEG 
  ElseIf  GetGadgetState(#Radio_PNG)=1
   Part.s=".PNG" : ImagePlugin=#PB_ImagePlugin_PNG  
  EndIf
  
  File.s=GetGadgetText(#Path)+FormatDate("%hh_%ii_%ss", Date())+Part
  
 SkrinActiveWindow(File,ImagePlugin,GetGadgetState(#Spin_0)/10)
 
EndProcedure

Open_Window_0()

DirTemp.s=GetTemporaryDirectory()
PathPref.s=DirTemp+"Skrinhot v1.0.ini"

Gosub OpenPreferences
Gosub WinS


If CreatePopupMenu(0)
 MenuItem(1,"Папка снимков")
 MenuItem(2,"Настройки")
 MenuItem(3,"О программе")
 MenuBar()
 MenuItem(4,"Выход")
EndIf

 If AddSysTrayIcon(1,WindowID(#Window_0),CatchImage(0,?Icon,?IconEnd-?Icon))=0
  MessageRequester("Skrinhot v1.0", "Не удалось создать иконку в трее", #MB_OK|#MB_ICONERROR)
  End
 EndIf
 
 Exit=0
 
 HotKeysInit()
 HotKeyAdd(WindowID(#Window_0), 44, @CreateSkrinAll(), "SkrinAll", 0,0,0)
 HotKeyAdd(WindowID(#Window_0), 44, @CreateSkrinWindow(), "SkrinWin", 0,0,1)

 Repeat
 Event=HotkeyWaitWindowEvent()
 Gadget=EventGadget()
 Menu=EventMenu()
 Type=EventType()
 
  If Event=#PB_Event_SysTray
   If Type=#PB_EventType_RightClick
    DisplayPopupMenu(0, WindowID(#Window_0)) ; показ вспывающего меню
   EndIf
   
   If Type=#PB_EventType_LeftDoubleClick 
     If IsWindow(#Window_0)=0
      Open_Window_0()
      Gosub WinS
      HideWindow(#Window_0,0)
     Else
      SetActiveWindow(#Window_0)
      HideWindow(#Window_0,0)
     EndIf
   EndIf
   
  EndIf
  
  If Event=#PB_Event_Menu
   Select Menu
    Case 1
     PathDir.s=GetGadgetText(#Path)
     If PathDir<>""
      If FileSize(PathDir)= -2
       RunProgram(PathDir)
      EndIf
     EndIf
    Case 2
     If IsWindow(#Window_0)=0
      Open_Window_0()
      Gosub WinS
      HideWindow(#Window_0,0)
     Else
      SetActiveWindow(#Window_0)
      HideWindow(#Window_0,0)
     EndIf
    Case 3
     MessageRequester("О программе", #ProgName+" — программа для снятия скриншотов с экрана компьютера"+Chr(10)+"Она была разработана в системе PureBasic — http://pbasic.spb.ru/"+Chr(10)+Chr(10)+"Автор:    Пётр"+Chr(10)+"E-Mail:     purik4.0@rambler.ru", #MB_OK|#MB_ICONINFORMATION)
    Case 4
     Exit=1
   EndSelect
  EndIf
  
  If Event=#PB_Event_Gadget
   Select Gadget
    Case #Button_Path
     TempPath.s=PathRequester("Выберите папку, где будут сохранятся снимки.",PathSkrin.s)
      If TempPath<>""
       SetGadgetText(#Path,TempPath) : PathSkrin=TempPath
      EndIf
      
    Case #Spin_0
     SetGadgetText(#Spin_0,Str(GetGadgetState(#Spin_0)))
     
    Case #Radio_BMP
     DisableGadget(#Text_1,1) :  DisableGadget(#Spin_0,1)
    Case #Radio_JPEG
     DisableGadget(#Text_1,0) :  DisableGadget(#Spin_0,0)
    Case #Radio_PNG 
     DisableGadget(#Text_1,1) :  DisableGadget(#Spin_0,1)
   EndSelect
  EndIf
  
  If Event=#PB_Event_CloseWindow
   PathSkrin.s=GetGadgetText(#Path)
   
   If GetGadgetState(#Radio_BMP)=1
    SkrinType=0
   ElseIf GetGadgetState(#Radio_JPEG)=1
    SkrinType=1
   ElseIf GetGadgetState(#Radio_PNG)=1
    SkrinType=2
   EndIf
   
   JPGPAK=GetGadgetState(#Spin_0)
   AutoRunState=GetGadgetState(#CheckBox_0)
 
     If AutoRunState=1
      RunProgramAtStartup(0,1,"Skrinhot",HandleToFileName(WindowID(#Window_0)))
     ElseIf AutoRunState=0
      DelProgramAtStartup(0,1,"Skrinhot")
     EndIf

   
   Gosub SavePreferences
   HideWindow(#Window_0,1)
  EndIf
 
 
 Until Exit=1
 TimerKill(1,WindowID(#Window_0))
 End
 
OpenPreferences:
PathPrefState=OpenPreferences(PathPref)
PathSkrin.s=ReadPreferenceString("PathSkrin",GetPathPart(GetProgramName()))
SkrinType=ReadPreferenceLong("SkrinType",0)
JPGPAK=ReadPreferenceLong("JPGPAK",85)
AutoRunState=ReadPreferenceLong("AutoRunState",0)

 If PathPrefState=0
  CreatePreferences(PathPref)
 EndIf
 ClosePreferences()
Return 


SavePreferences:
If OpenPreferences(PathPref)
 WritePreferenceString("PathSkrin",PathSkrin.s)
 WritePreferenceLong("SkrinType",SkrinType)
 WritePreferenceLong("JPGPAK",JPGPAK)
 WritePreferenceLong("AutoRunState",AutoRunState)
 ClosePreferences()
EndIf
Return 

WinS:
SetGadgetText(#Path,PathSkrin)

 Select SkrinType
  Case 0
   SetGadgetState(#Radio_BMP,1) : DisableGadget(#Text_1,1) :  DisableGadget(#Spin_0,1)
  Case 1
   SetGadgetState(#Radio_JPEG,1) : DisableGadget(#Text_1,0) :  DisableGadget(#Spin_0,0)
  Case 2
   SetGadgetState(#Radio_PNG,1) : DisableGadget(#Text_1,1) :  DisableGadget(#Spin_0,1)
 EndSelect
 
 SetGadgetState(#Spin_0,JPGPAK)
 SetGadgetText(#Spin_0,Str(JPGPAK))
 
 SetGadgetState(#CheckBox_0,AutoRunState)

Return


Icon:
IncludeBinary "Значок.ico"
IconEnd:

с этим

Код:
Enumeration
  #Window_0
EndEnumeration
;- Gadget Constants
Enumeration
  #Text_0
  #String_0
  #Button_0
  #Text_2
  #Editor_0
EndEnumeration

Procedure Open_Window_0()
  If OpenWindow(#Window_0, 262, 80, 376, 300, "Сервер для проверки доступности портов",  #PB_Window_Invisible | #PB_Window_MinimizeGadget | #PB_Window_ScreenCentered | #PB_Window_TitleBar )
      StickyWindow(#Window_0, 1)
      TextGadget(#Text_0, 5, 20, 85, 15, "Выберите порт:")
      StringGadget(#String_0, 95, 15, 55, 20, "1234", #PB_String_Numeric)
      ButtonGadget(#Button_0, 158, 12, 210, 24, "Создать сервер")
      TextGadget(#Text_2, 5, 50, 50, 15, "Лог")
      EditorGadget(#Editor_0, 5, 65, 365, 228)
      HideWindow(#Window_0,0)
  EndIf
EndProcedure

Procedure ServerThread(*t)
  *mem=AllocateMemory(65536)
  Repeat
    SEvent = NetworkServerEvent()
    If SEvent
      ClientID = EventClient()
      Select SEvent
        Case #PB_NetworkEvent_Connect
          AddGadgetItem(#Editor_0, -1, "Клиент с IP "+ IPString(GetClientIP(ClientID))+" установил связь с сервером" )
        Case #PB_NetworkEvent_Data
          FillMemory(*mem, 65536, 0, #PB_Byte)
          ReceiveNetworkData(ClientID, *mem, 65536)
          String.s=PeekS(*mem)
          AddGadgetItem(#Editor_0, -1, "Клиент с IP "+ IPString(GetClientIP(ClientID))+" передал данные: "+Chr(34)+String+Chr(34) )
        Case #PB_NetworkEvent_Disconnect
         AddGadgetItem(#Editor_0, -1, "Клиент с IP "+ IPString(GetClientIP(ClientID))+" разорвал связь с сервером" )
      EndSelect
    Else
      Delay(20)
    EndIf
  ForEver
EndProcedure

ProgName.s=GetFilePart(ProgramFilename())

If InitNetwork() = 0
  MessageRequester(ProgName, "Ошибка инициализации сетевой библиотеки!", 16)
  End
EndIf

Open_Window_0()
S_Thread=CreateThread(@ServerThread(),0)

Repeat
  Event=WaitWindowEvent()
  
  If Event=#PB_Event_Gadget
    If EventGadget()=#Button_0
      Port.u=Val(GetGadgetText(#String_0))
      PauseThread(S_Thread)
      If CreateNetworkServer(2, Port, #PB_Network_TCP)
        AddGadgetItem(#Editor_0, -1, "Создан сервер на "+Str(Port)+" порту")
      Else
        MessageRequester(ProgName, "Не удалось создать сервер на "+Str(Port)+" порту"+Chr(10)+"Возможно этот порт используется другой программой!", 16)
      EndIf
      ResumeThread(S_Thread)
    EndIf
  EndIf
  
Until Event=#PB_Event_CloseWindow

0

4

Надо передавать скриншоты через сеть?

0

5

да

0

6

и чтобы мог позвонить на его компьютер через микрофон

0

7

Влад написал(а):

и чтобы мог позвонить на его компьютер через микрофон

Я иногда тащусь с простых пацанов!
В практике программирования полный 0, в теории 0, а уже хочет написать программу уровня Скайп!

0

8

Передача скриншота в формате PNG через сеть.

Сервер:

Код:
If InitNetwork() = 0
  MessageRequester("Error", "Can't initialize the network !", 0)
  End
EndIf

Port = 6832
*Buffer = AllocateMemory(1000)

If CreateNetworkServer(0, Port)

  MessageRequester("PureBasic - Server", "Server created (Port "+Str(Port)+").", 0)
  
  Repeat
      
    SEvent = NetworkServerEvent()
  
    If SEvent
    
      ClientID = EventClient()
  
      Select SEvent
      
        Case #PB_NetworkEvent_Connect
          MessageRequester("PureBasic - Server", "A new client has connected !", 0)
  
        Case #PB_NetworkEvent_Data
          MessageRequester("PureBasic - Server", "Client "+Str(ClientID)+" has send a packet !", 0)
          ReceiveNetworkData(ClientID, *Buffer, 1000)
          MessageRequester("Info", "String: "+PeekS(*Buffer), 0)
  
        Case #PB_NetworkEvent_File
          MessageRequester("PureBasic - Server", "Client "+Str(ClientID)+" has send a file via the network !", 0)
          ReceiveNetworkFile(ClientID, FormatDate("%hh_%ii_%ss", Date())+".png")
  
        Case #PB_NetworkEvent_Disconnect
          MessageRequester("PureBasic - Server", "Client "+Str(ClientID)+" has closed the connection...", 0)
          Quit = 1
    
      EndSelect
    EndIf
    
  Until Quit = 1 
  
  MessageRequester("PureBasic - Server", "Click to quit the server.", 0)
  
  CloseNetworkServer(0)
Else
  MessageRequester("Error", "Can't create the server (port in use ?).", 0)
EndIf

  
End

Клиент:

Код:
Procedure MakeDesktopScreenshot(ImageNr,x,y,Width,Height) 
  hImage = CreateImage(ImageNr,Width,Height) 
  hDC    = StartDrawing(ImageOutput(ImageNr)) 
  DeskDC = GetDC_(GetDesktopWindow_()) 
  BitBlt_(hDC,0,0,Width,Height,DeskDC,x,y,#SRCCOPY) 
  StopDrawing() 
  ReleaseDC_(GetDesktopWindow_(),DeskDC) 
  ProcedureReturn hImage 
EndProcedure

UsePNGImageEncoder()

If InitNetwork() = 0
  MessageRequester("Error", "Can't initialize the network !", 0)
  End
EndIf

Server.s="127.0.0.1"
Port = 6832

Repeat
  If GetAsyncKeyState_(#VK_SNAPSHOT) = -32767 
    If MakeDesktopScreenshot(0, 0, 0, GetSystemMetrics_(#SM_CXSCREEN), GetSystemMetrics_(#SM_CYSCREEN))
      SaveImage(0,"Temp.png", #PB_ImagePlugin_PNG, 0)
      Connect = OpenNetworkConnection(Server, Port)
      If Connect
        SendNetworkFile(Connect, "Temp.png")
        CloseNetworkConnection(Connect)
      EndIf
    EndIf 
  EndIf 
  Delay(100)
ForEver
End

Скриншот передается при нажатии кнопки "Print Screen / SysRq".

Влад написал(а):

и чтобы мог позвонить на его компьютер через микрофон

Так напиши такую программу. Кто запрещает?

0

9

Пётр написал(а):

*Buffer = AllocateMemory(1000)

что это значить??

0

10

я понимаю если делать передачу файлов через сеть то надо где написано чтото типа Image менять на File а где написано PNG там на формат передаваемого файла и надо убрать строчку где горячие клавиши для скриншота и надо убрать строчку сохранения его так что ли... тока я не знаю код...

0

11

я пол 0 в это программирование только могу читать код!! но не читать а по тихой по ни маю в чём суть кода

0

12

Влад написал(а):

что это значить??

http://www.pure-basic.narod.ru/docs/memory.html
http://www.pure-basic.narod.ru/docs/point.html

0

13

Влад написал(а):

но не читать а по тихой по ни маю в чём суть кода

Дружище, судя по вашим сообщениям и суждениям ваш возраст около 10 лет?
Если меньше, то примите мои поздравления, если больше, то мои соболезнования...
И если серьезно хотите программировать, то начните с азов, изучения теории, и простейших примеров.

0


Вы здесь » PureBasic - форум » Вопросы по PureBasic » как сделать сервер(есть пример кода)