Quantcast
Channel: SA-MP Forums
Viewing all articles
Browse latest Browse all 18226

Unable to send data to client with socket_send

$
0
0
Hello people,

I'm currently getting into socket programming altogether with SAMP. I have client application(simple asynch tcp socket) and server(listen_server.pwn filterscript that u can find on this forum). I can send data from client to server, connect to server but i can't send data from server to client. My server goes insta offline.
making & connecting socket
Code:

new Socket:g_Socket;
g_Socket = socket_create(TCP);
        if(is_socket_valid(g_Socket)) {
                socket_set_max_connections(g_Socket, 2500);
                socket_listen(g_Socket, 2526); // we are going to listen on port 1337
        }

socket_send()
Code:

public onSocketRemoteConnect(Socket:id, remote_client[], remote_clientid)
{
        printf("Dolazeca konekcija sa [%d:%s]", remote_clientid, remote_client); // [id:ip]
        if(is_socket_valid(id)) socket_send(id, "Welcome :)", strlen("Welcome :)"));
        return 1;
}

c# receive function and also main
Code:

private static void ReceiveCallback(IAsyncResult ar)
        {
            try
            {
                StateObject state = (StateObject)ar.AsyncState;
                Socket client = state.workSocket;
                int bytesRead = client.EndReceive(ar)+1;
                if (bytesRead > 0)
                {
                    state.sb.Append(Encoding.ASCII.GetString(state.buffer, 0, bytesRead));
                    client.BeginReceive(state.buffer, 0, StateObject.BufferSize, 0,
                        new AsyncCallback(ReceiveCallback), state);
                }
                else
                {
                    if (state.sb.Length > 1)
                    {
                        response = state.sb.ToString();
                    }
                    receiveDone.Set();
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e.ToString());
            }
        }

main
Code:

static void Main(string[] args)
        {
            Socket client = new Socket(AddressFamily.InterNetwork,SocketType.Stream, ProtocolType.Tcp);
            InitConnection(client, "myserverip", myport);
            Send(client, "send");
            sendDone.WaitOne();
            Receive(client);
            receiveDone.WaitOne();
            Console.WriteLine(response);
            client.Shutdown(SocketShutdown.Both);
            client.Close();
            Console.ReadLine();
        }


Viewing all articles
Browse latest Browse all 18226

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>