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.

166 lines
8.9 KiB
C#

2 years ago
using System;
using System.Text;
using System.Collections.Generic;
using System.Runtime.InteropServices;
namespace ocean
{
public class skts
{
/****************************************************
*Function: socket
*Intput: NULL
*Output: NULL
*Return: 0
******************************************************/
[DllImport(@"skt.dll", EntryPoint = "skts_init", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern int init();
/****************************************************
*Function: socket
*Intput: NULL
*Output: NULL
*Return: NULL
******************************************************/
[DllImport(@"skt.dll", EntryPoint = "skts_deinit", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern int deinit();
/****************************************************
*Function: skts,
,.
*Intput: pszdesc <32
*Output: NULL
*Return: INVALID_SKT, skts
*PS skts_statusok,
skts_status
*PS: tcppszdesc127.0.0.1:5000
******************************************************/
[DllImport(@"skt.dll", EntryPoint = "skts_client", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern int client(string pszdesc);
/****************************************************
*Function: skts,
,.
*Intput: pszdesc <32
*Output: NULL
*Return: INVALID_SKT, skts
*PS: skts_statusok
skts_status
*PS: IPserver
*PS: tcppszdesc127.0.0.1:5000
*PS:
******************************************************/
[DllImport(@"skt.dll", EntryPoint = "skts_server", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern int server(string pszdesc);
/****************************************************
*Function: skt
*Intput: skt skt
*Output: NULL
*Return: 0,
******************************************************/
[DllImport(@"skt.dll", EntryPoint = "skts_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 = "skts_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 = "skts_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 = "skts_send", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern int send(int skt, string pData, int len);
/****************************************************
*Function: ,/.
*Intput: skt skt
pData
len
*Output: NULL
*Return: , 0
******************************************************/
[DllImport(@"skt.dll", EntryPoint = "skts_sends", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern int sends(int skt, string pData);
/****************************************************
*Function: ,/.
*Intput: skt skt
pData
len
timeout ,,
*Output: pData
*Return: ,,0
ps:ERR_TIMEOUT,
******************************************************/
[DllImport(@"skt.dll", EntryPoint = "skts_recv", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern int recv(int skt, StringBuilder pData, int len, uint timeout = 0xFFFFFFFF);
public static string recvs(int skt, uint timeout = 0xFFFFFFFF)
{
int ret = 0;
StringBuilder psz = new StringBuilder(256);
ret = recv(skt, psz, 256, timeout);
return ret > 0 ? psz.ToString() : "";
}
/****************************************************
*Function: skt,/.
*Intput: skt skt
*Output: NULL
*Return: SocketNetStatus
******************************************************/
[DllImport(@"skt.dll", EntryPoint = "skts_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 = "skts_clear", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern int clear(int skt);
}
}