예제 #1
0
        public void Bind(System.Net.EndPoint localEP)
        {
            ThrowIfSocketClosed();

            if (localEP == null)
            {
                throw new ArgumentNullException("localEP");
            }

            var sockAddr = localEP.Serialize();

            int result = NativeMethods.bind(_socket, SocketAddressToArray(sockAddr), sockAddr.Size);

            if (result < 0)
            {
                throw new System.Net.Sockets.SocketException(NativeMethods.WSAGetLastError());
            }
        }
예제 #2
0
        public void Connect(System.Net.EndPoint remoteEP)
        {
            ThrowIfSocketClosed();

            if (remoteEP == null)
            {
                throw new ArgumentNullException("remoteEP");
            }

            var sockAddr = remoteEP.Serialize();

            System.Diagnostics.Debug.WriteLine(sockAddr.Family);
            System.Diagnostics.Debug.WriteLine(sockAddr.Size);

            int result = NativeMethods.connect(_socket, SocketAddressToArray(sockAddr), sockAddr.Size);

            System.Diagnostics.Debug.WriteLine(result);
            if (result < 0)
            {
                throw new System.Net.Sockets.SocketException(NativeMethods.WSAGetLastError());
            }
        }
예제 #3
0
        static int _m_Serialize(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);


                System.Net.EndPoint gen_to_be_invoked = (System.Net.EndPoint)translator.FastGetCSObj(L, 1);



                {
                    System.Net.SocketAddress gen_ret = gen_to_be_invoked.Serialize(  );
                    translator.Push(L, gen_ret);



                    return(1);
                }
            } catch (System.Exception gen_e) {
                return(LuaAPI.luaL_error(L, "c# exception:" + gen_e));
            }
        }