You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

154 lines
8.2 KiB
C#

2 years ago
using System;
using System.Text;
using System.Collections.Generic;
using System.Runtime.InteropServices;
namespace ocean
{
public enum EMSocketStatus
{
SOCKET_DISCONNECTED = 0, //未连接
SOCKET_CONNECTED, //已连接
};
public class skt
{
/****************************************************
*Function: socket
*Intput: NULL
*Output: NULL
*Return: 0
******************************************************/
[DllImport(@"skt.dll", EntryPoint = "skt_init", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern int init();
/****************************************************
*Function: socket
*Intput: NULL
*Output: NULL
*Return: NULL
******************************************************/
[DllImport(@"skt.dll", EntryPoint = "skt_deinit", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern int deinit();
/****************************************************
*Function: tcp ,
,socket.
*Intput: pszip ip
sport
local ip,NULL
lport ,使0
*Output: NULL
*Return: INVALID_SKT, skt
*PS skt_statusok
******************************************************/
[DllImport(@"skt.dll", EntryPoint = "create_c", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern int client(string pszip, ushort sport, string local = null, ushort lport = 0);
/****************************************************
*Function: tcp ,
,socket.
*Intput: pszip ip,NULL
sport
local ip,NULLIP
lport port,NULLport
*Output: NULL
*Return: INVALID_SKT, skt
*PS get_statusok
******************************************************/
[DllImport(@"skt.dll", EntryPoint = "create_s", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern int server(string pszip, ushort sport, string local = null, ushort lport = 0);
/****************************************************
*Function: skt
*Intput: skt skt
*Output: NULL
*Return: 0,
******************************************************/
[DllImport(@"skt.dll", EntryPoint = "skt_close", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern int close(int skt);
/****************************************************
*Function: skt使
*Intput: skt skt
*Output: NULL
*Return: 0,
******************************************************/
[DllImport(@"skt.dll", EntryPoint = "skt_conn", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern int connect(int skt);
/****************************************************
*Function: skt
*Intput: skt skt
*Output: NULL
*Return: 0,
*PS: .
******************************************************/
[DllImport(@"skt.dll", EntryPoint = "skt_disconn", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern int disconnect(int skt);
/****************************************************
*Function: ,/.
*Intput: skt skt
pData
len
*Output: NULL
*Return: , 0
******************************************************/
[DllImport(@"skt.dll", EntryPoint = "skt_send", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern int send(int skt, string pData, int len);
/****************************************************
*Function: ,/.
*Intput: skt skt
pData
len
timeout ,,
*Output: pData
*Return: ,,0
ps:ERR_TIMEOUT,
******************************************************/
[DllImport(@"skt.dll", EntryPoint = "skt_recv", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern int recv(int skt, StringBuilder pData, int len, uint timeout = 0xFFFFFFFF);
/****************************************************
*Function: skt,/.
*Intput: skt skt
*Output: NULL
*Return: SocketNetStatus
******************************************************/
[DllImport(@"skt.dll", EntryPoint = "skt_status", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern int status(int skt);
/****************************************************
*Function: sktsocket
*Intput: skt skt
*Output: NULL
*Return: INVALID_SKT, soket
*PS: 使sysapi
******************************************************/
[DllImport(@"skt.dll", EntryPoint = "get_socket", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern int socket(int skt);
/****************************************************
*Function: sktip/port
*Intput: skt skt
*Output: lpRemote ip NULL
pusport NULL
*Return: 0,
******************************************************/
[DllImport(@"skt.dll", EntryPoint = "get_socket", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern int addr(int skt,ref string lpRemote, ref ushort pusport);
/****************************************************
*Function: skt.
*Intput: skt skt
*Output: NULL
*Return: 0,
******************************************************/
[DllImport(@"skt.dll", EntryPoint = "clear_msg", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern int clear(int skt);
}
}