=Code Analysis=
Code:
PHP Code:
#include <amxmodx>
#include sockets2.inc
const TEST_PORT = 234;
new g_Socket;
public plugin_init()
{
register_concmd( "Test" , "QuickTest" );
register_concmd( "Connect" , "TestConnect" );
register_concmd( "Listen" , "TestListen" );
register_concmd( "SendData" , "TestSend" );
}
public QuickTest()
{
new iError;
new iSocket = socket_open( "www.google.com" , 80 , SOCKET_TCP , iError );
server_print( "Connecting on=%d Error=%d" , iSocket , iError );
}
public TestConnect()
{
new szIP[ 16 ] , iError;
get_user_ip( 0 , szIP , charsmax( szIP ) , 1 );
g_Socket = socket_open( szIP , TEST_PORT , SOCKET_TCP , iError );
server_print( "Connecting on=%d Error=%d" , g_Socket , iError );
}
public TestListen()
{
new szIP[ 16 ] , iError , iSocket;
get_user_ip( 0 , szIP , charsmax( szIP ) , 1 );
iSocket = socket_listen( szIP , TEST_PORT , SOCKET_TCP , iError );
server_print( "Listening on=%d Error=%d" , iSocket , iError );
}
public TestSend()
{
server_print( "Sending data on=%d" , g_Socket );
socket_send( g_Socket , "Hello there" , 12 );
}
public Socket_Connected( iSocket )
{
server_print( "Connected on=%d" , iSocket );
socket_send( iSocket , "GET /index.html HTTP/1.1^r^nHost: www.google.com^r^n^r^n" , 128 );
}
public Socket_ConnectionRequest( iSocket )
{
new iError;
if ( ( g_Socket = socket_accept( iSocket , iError ) ) )
server_print( "Connect Request on=%d, Accepted request, new socket=%d" , iSocket , g_Socket );
}
public Socket_IncomingData( iSocket , iBytes )
{
new szData[ 1024 ] , iGet = socket_recv( iSocket , szData , sizeof( szData ) );
server_print( "Data Arrived on %d | Total Bytes=%d | Bytes-read=%d | Data=%s" , iSocket , iBytes , iGet , szData );
}
public Socket_Disconnected( iSocket )
{
server_print( "Disconnected=%d" ,iSocket );
}
Compile:
Code:
Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright (c) 1997-2006 ITB CompuPhase, AMX Mod X Team
Header size: 492 bytes
Code size: 1576 bytes
Data size: 1584 bytes
Stack/heap size: 16384 bytes; estimated max. usage=1036 cells (4144 bytes)
Total requirements: 20036 bytes
Done.
Compilation Time: 0,41 sec
Modules:
HTML Code:
mysql
sqlite
fun
engine
fakemeta
geoip
sockets2
regex
nvault
hamsandwich
cstrike
Plugins:
Code:
sockets2.amxx debug
Console:
Code:
amxx plugins
Currently loaded plugins:
name version author file status
[ 1] Admin Base 1.8.1.3746 AMXX Dev Team admin.amxx running
[ 2] Admin Commands 1.8.1.3746 AMXX Dev Team admincmd.amxx running
[ 3] Admin Help 1.8.1.3746 AMXX Dev Team adminhelp.amxx running
[ 4] Slots Reservation 1.8.1.3746 AMXX Dev Team adminslots.amxx running
[ 5] Multi-Lingual System 1.8.1.3746 AMXX Dev Team multilingual.am running
[ 6] Menus Front-End 1.8.1.3746 AMXX Dev Team menufront.amxx running
[ 7] Commands Menu 1.8.1.3746 AMXX Dev Team cmdmenu.amxx running
[ 8] Players Menu 1.8.1.3746 AMXX Dev Team plmenu.amxx running
[ 9] Maps Menu 1.8.1.3746 AMXX Dev Team mapsmenu.amxx running
[ 10] Plugin Menu 1.8.1.3746 AMXX Dev Team pluginmenu.amxx running
[ 11] Admin Chat 1.8.1.3746 AMXX Dev Team adminchat.amxx running
[ 12] Anti Flood 1.8.1.3746 AMXX Dev Team antiflood.amxx running
[ 13] Scrolling Message 1.8.1.3746 AMXX Dev Team scrollmsg.amxx running
[ 14] Info. Messages 1.8.1.3746 AMXX Dev Team imessage.amxx running
[ 15] Admin Votes 1.8.1.3746 AMXX Dev Team adminvote.amxx running
[ 16] NextMap 1.8.1.3746 AMXX Dev Team nextmap.amxx running
[ 17] Nextmap Chooser 1.8.1.3746 AMXX Dev Team mapchooser.amxx running
[ 18] TimeLeft 1.8.1.3746 AMXX Dev Team timeleft.amxx running
[ 19] Pause Plugins 1.8.1.3746 AMXX Dev Team pausecfg.amxx running
[ 20] Stats Configuration 1.8.1.3746 AMXX Dev Team statscfg.amxx running
[ 21] Community Manager [C.S 1.0 ProIcons Gather.amxx debug
[ 22] unknown unknown unknown sockets2.amxx running
22 plugins, 22 running
amxx modules
Currently loaded modules:
name version author status
[ 1] MySQL 1.8.1.3746 AMX Mod X Dev Team running
[ 2] SQLite 1.8.1.3746 AMX Mod X Dev Team running
[ 3] Fun 1.8.1.3746 AMX Mod X Dev Team running
[ 4] Engine 1.8.1.3746 AMX Mod X Dev Team running
[ 5] FakeMeta 1.8.1.3746 AMX Mod X Dev Team running
[ 6] GeoIP 1.8.1.3746 AMX Mod X Dev Team running
[ 7] Sockets2 1.8.1.3746 HLSW Dev Team running
[ 8] RegEx 1.8.1.3746 AMX Mod X Dev Team running
[ 9] nVault 1.8.1.3746 AMX Mod X Dev Team running
[10] Ham Sandwich 1.8.1.3746 AMX Mod X Dev Team running
[11] CStrike 1.8.1.3746 AMX Mod X Dev Team running
[12] Sockets_hz 1.81 hackziner v. of HLS running
[13] CSX 1.8.1.3746 AMX Mod X Dev Team running
13 modules, 13 correct
Listen
Listening on=19 Error=0
Connect
Connecting on=-1 Error=115
SendData
Sending data on=-1
Test
Connecting on=-1 Error=115
Well i Also Tried to connect to the Listening Port Via an external Interpreter Source,
Code:
on *:sockopen:debug:{
if ($sockerr) { echo -s [] $sock($sockname).wsmsg }
else { echo -s [] Connected to Source without Any Problem }
}
on *:sockread:debug:{
if ($sockerr) { echo -s [] $sock($sockname).wsmsg }
sockread -f %debug
echo -s [] %debug
}
on *:sockwrite:debug:{
if ($sockerr) { echo -s [] $sock($sockname).wsmsg }
else { echo -s [] Sent Data to Source without Any Problem, Test Passed }
}
And i Got this Reply on My Interpreter
Code:
[] Connected to Source without Any Problem
[] Sent Data to Source without Any Problem, Test Passed
With a few words, nothing happend to the Server's Console, as far i can see on that code Should echo something. But it didn't
PHP Code:
public Socket_IncomingData( iSocket , iBytes )
{
new szData[ 1024 ] , iGet = socket_recv( iSocket , szData , sizeof( szData ) );
server_print( "Data Arrived on %d | Total Bytes=%d | Bytes-read=%d | Data=%s" , iSocket , iBytes , iGet , szData );
}
__________________