←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

[ROZWIĄZANE] Sockety wykonywanie skryptu php

Locked

  • +
  • -
aragog's Photo aragog 23.07.2013

Witam, chciałbym żeby plugin amxx przy starcie mapy wykonywał pewien skrypt php na stronie, na razie udało mi się poprawnie połączyć rozłączyć ze stroną i teraz pytanie jak wykonac skrypt php za pomocą socketów, jak wysłać dane na stronę i jak je odebrac z poziomu php.

Moj plugin na razie wygląda tak:
#include <amxmodx>
#include <sockets>

new error, socket;

public plugin_init()
{
	register_plugin("Test socketow", "?" ,"Aragog");
	polacz();
} 

public plugin_end()
{
	polacz();	
}

public polacz()
{
	socket = socket_open("moja-strona.pl", 80, SOCKET_TCP, error)
	if (socket<1)
	{
		switch(error)
		{
			case 1: log_amx("Nie mozna stworzyc socket'a")
				case 2: log_amx("Nie mozna rozwiazac hostname'a")
				case 3: log_amx("Nie mozna polaczyc sie z hostname:port")
			}
		} else {
		log_amx("Polaczono z serwerem")
		rozlacz()
	}
}

public rozlacz()
{
	socket_close(socket)	
	log_amx("Rozlaczono z serwerem")
}

Edited by aragog, 23.07.2013 10:13.
Quote

  • +
  • -
DarkGL's Photo DarkGL 23.07.2013

teraz pytanie jak wykonac skrypt php za pomocą socketów

 

jeżeli połączysz się z serwerem poprzez sockety to obsługą i wykonaniem skryptu php zajmie się serwer httpd

 

http://darkgl.amxx.p.../09/15/sockety/

Quote

  • +
  • -
aragog's Photo aragog 23.07.2013

Czyli mam dopisać do funkcji połącz
new szSendBuffer[512];
		
		format(szSendBuffer, charsmax(szSendBuffer), "GET %s^nHost:%s^r^n^r^n", "/test.php", "moja-strona.pl") 
		socket_send(socket, szSendBuffer, charsmax(szSendBuffer))
i wykona się skrypt test.php? i drugie pytanie jak wysyłać np zmienne z amxx'a do php i jak je pobrac z poziomu php.
Quote

  • +
  • -
sebul's Photo sebul 23.07.2013

Parametry przekazujesz bezpośrednio w linku, zaraz za nazwą skryptu, składnia jest bardzo prosta, np.
test.php?para1=cos&para2=cosik&para3=123
tylko musisz pamiętać, żeby dobrze przygotować wartości tych parametrów, bo jak pewnie zauważyłeś, jak w jakiejś wartości będzie znak &, to niestety to popsuje całą składnię.
Przeczytaj to http://php.net/manua...n.urlencode.php tam w jednym poście, będziesz miał wymienione chyba wszystkie znaki, jakie należy zamienić.
Quote

  • +
  • -
aragog's Photo aragog 23.07.2013

Wielkie dzięki bardzo mi pomogliście :D

Wygląda na to że jest to prostsze niż się wydaje :D
Edited by aragog, 23.07.2013 18:11.
Quote

  • +
  • -
sebul's Photo sebul 23.07.2013

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Pomoc udzielona

Jeśli się z tym nie zgadzasz, report.png raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL
Quote
Locked