1 Star 0 Fork 10

逗哥 / tank-MGOBE-LockStep

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
socket.io-client.d.ts 17.99 KB
一键复制 编辑 原始数据 按行查看 历史
starry_skys 提交于 2019-10-14 22:24 . first available 2d online tank battle
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676
// Type definitions for socket.io-client 1.4.5
// Project: http://socket.io/
// Definitions by: PROGRE <https://github.com/progre>, Damian Connolly <https://github.com/divillysausages>, Florent Poujol <https://github.com/florentpoujol>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
declare var io: SocketIOClientStatic;
declare module 'socket.io-client' {
export = io;
}
interface SocketIOClientStatic {
/**
* Looks up an existing 'Manager' for multiplexing. If the user summons:
* 'io( 'http://localhost/a' );'
* 'io( 'http://localhost/b' );'
*
* We reuse the existing instance based on the same scheme/port/host, and
* we initialize sockets for each namespace. If autoConnect isn't set to
* false in the options, then we'll automatically connect
* @param uri The uri that we'll connect to, including the namespace, where '/' is the default one (e.g. http://localhost:4000/somenamespace)
* @opts Any connect options that we want to pass along
* @return A Socket object
*/
( uri: string, opts?: SocketIOClient.ConnectOpts ): SocketIOClient.Socket;
/**
* Auto-connects to the window location and defalt namespace.
* E.g. window.protocol + '//' + window.host + ':80/'
* @opts Any connect options that we want to pass along
* @return A Socket object
*/
( opts?: SocketIOClient.ConnectOpts ): SocketIOClient.Socket;
/**
* @see the default constructor (io(uri, opts))
*/
connect( uri: string, opts?: SocketIOClient.ConnectOpts ): SocketIOClient.Socket;
/**
* @see the default constructor (io(opts))
*/
connect( opts?: SocketIOClient.ConnectOpts ): SocketIOClient.Socket;
/**
* The socket.io protocol revision number this client works with
* @default 4
*/
protocol: number;
/**
* Socket constructor - exposed for the standalone build
*/
Socket: SocketIOClient.Socket;
/**
* Manager constructor - exposed for the standalone build
*/
Manager: SocketIOClient.ManagerStatic;
/**
* Managers cache
*/
managers: { [key: string]: SocketIOClient.Manager }
}
declare namespace SocketIOClient {
/**
* The base emiter class, used by Socket and Manager
*/
interface Emitter {
/**
* Adds a listener for a particular event. Calling multiple times will add
* multiple listeners
* @param event The event that we're listening for
* @param fn The function to call when we get the event. Parameters depend on the
* event in question
* @return This Emitter
*/
on( event: string, fn: Function ):Emitter;
/**
* @see on( event, fn )
*/
addEventListener( event: string, fn: Function ):Emitter;
/**
* Adds a listener for a particular event that will be invoked
* a single time before being automatically removed
* @param event The event that we're listening for
* @param fn The function to call when we get the event. Parameters depend on
* the event in question
* @return This Emitter
*/
once( event: string, fn: Function ):Emitter;
/**
* Removes a listener for a particular type of event. This will either
* remove a specific listener, or all listeners for this type of event
* @param event The event that we want to remove the listener of
* @param fn The function to remove, or null if we want to remove all functions
* @return This Emitter
*/
off( event: string, fn?: Function ):Emitter;
/**
* @see off( event, fn )
*/
removeListener( event: string, fn?: Function ):Emitter;
/**
* @see off( event, fn )
*/
removeEventListener( event: string, fn?: Function ):Emitter;
/**
* Removes all event listeners on this object
* @return This Emitter
*/
removeAllListeners():Emitter;
/**
* Emits 'event' with the given args
* @param event The event that we want to emit
* @param args Optional arguments to emit with the event
* @return Emitter
*/
emit( event: string, ...args: any[] ):Emitter;
/**
* Returns all the callbacks for a particular event
* @param event The event that we're looking for the callbacks of
* @return An array of callback Functions, or an empty array if we don't have any
*/
listeners( event: string ):Function[];
/**
* Returns if we have listeners for a particular event
* @param event The event that we want to check if we've listeners for
* @return True if we have listeners for this event, false otherwise
*/
hasListeners( event: string ):boolean;
}
/**
* The Socket static interface
*/
interface SocketStatic {
/**
* Creates a new Socket, used for communicating with a specific namespace
* @param io The Manager that's controlling cc.gg.socket
* @param nsp The namespace that cc.gg.socket is for (@default '/')
* @return A new Socket
*/
( io: SocketIOClient.Manager, nsp: string ): Socket;
/**
* Creates a new Socket, used for communicating with a specific namespace
* @param io The Manager that's controlling cc.gg.socket
* @param nsp The namespace that cc.gg.socket is for (@default '/')
* @return A new Socket
*/
new ( url: string, opts: any ): SocketIOClient.Manager;
}
/**
* The Socket that we use to connect to a Namespace on the server
*/
interface Socket extends Emitter {
/**
* The Manager that's controller cc.gg.socket
*/
io: SocketIOClient.Manager;
/**
* The namespace that cc.gg.socket is for
* @default '/'
*/
nsp: string;
/**
* The ID of the socket; matches the server ID and is set when we're connected, and cleared
* when we're disconnected
*/
id: string;
/**
* Are we currently connected?
* @default false
*/
connected: boolean;
/**
* Are we currently disconnected?
* @default true
*/
disconnected: boolean;
/**
* Opens our socket so that it connects. If the 'autoConnect' option for io is
* true (default), then this is called automatically when the Socket is created
*/
open(): Socket;
/**
* @see open();
*/
connect(): Socket;
/**
* Sends a 'message' event
* @param args Any optional arguments that we want to send
* @see emit
* @return cc.gg.socket
*/
send( ...args: any[] ):Socket;
/**
* An override of the base emit. If the event is one of:
* connect
* connect_error
* connect_timeout
* connecting
* disconnect
* error
* reconnect
* reconnect_attempt
* reconnect_failed
* reconnect_error
* reconnecting
* ping
* pong
* then the event is emitted normally. Otherwise, if we're connected, the
* event is sent. Otherwise, it's buffered.
*
* If the last argument is a function, then it will be called
* as an 'ack' when the response is received. The parameter(s) of the
* ack will be whatever data is returned from the event
* @param event The event that we're emitting
* @param args Optional arguments to send with the event
* @return cc.gg.socket
*/
emit( event: string, ...args: any[] ):Socket;
/**
* Disconnects the socket manually
* @return cc.gg.socket
*/
close():Socket;
/**
* @see close()
*/
disconnect():Socket;
/**
* Sets the compress flag.
* @param compress If `true`, compresses the sending data
* @return cc.gg.socket
*/
compress(compress: boolean):Socket;
}
/**
* The Manager static interface
*/
interface ManagerStatic {
/**
* Creates a new Manager
* @param uri The URI that we're connecting to (e.g. http://localhost:4000)
* @param opts Any connection options that we want to use (and pass to engine.io)
* @return A Manager
*/
( uri: string, opts?: SocketIOClient.ConnectOpts ): SocketIOClient.Manager;
/**
* Creates a new Manager with the default URI (window host)
* @param opts Any connection options that we want to use (and pass to engine.io)
*/
( opts: SocketIOClient.ConnectOpts ):SocketIOClient.Manager;
/**
* @see default constructor
*/
new ( uri: string, opts?: SocketIOClient.ConnectOpts ): SocketIOClient.Manager;
/**
* @see default constructor
*/
new ( opts: SocketIOClient.ConnectOpts ):SocketIOClient.Manager;
}
/**
* The Manager class handles all the Namespaces and Sockets that we're using
*/
interface Manager extends Emitter {
/**
* All the namespaces currently controlled by this Manager, and the Sockets
* that we're using to communicate with them
*/
nsps: { [namespace:string]: Socket };
/**
* The connect options that we used when creating this Manager
*/
opts: SocketIOClient.ConnectOpts;
/**
* The state of the Manager. Either 'closed', 'opening', or 'open'
*/
readyState: string;
/**
* The URI that this manager is for (host + port), e.g. 'http://localhost:4000'
*/
uri: string;
/**
* The currently connected sockets
*/
connecting: Socket[];
/**
* If we should auto connect (also used when creating Sockets). Set via the
* opts object
*/
autoConnect: boolean;
/**
* Gets if we should reconnect automatically
* @default true
*/
reconnection(): boolean;
/**
* Sets if we should reconnect automatically
* @param v True if we should reconnect automatically, false otherwise
* @default true
* @return This Manager
*/
reconnection( v: boolean ): Manager;
/**
* Gets the number of reconnection attempts we should try before giving up
* @default Infinity
*/
reconnectionAttempts(): number;
/**
* Sets the number of reconnection attempts we should try before giving up
* @param v The number of attempts we should do before giving up
* @default Infinity
* @return This Manager
*/
reconnectionAttempts( v: number ): Manager;
/**
* Gets the delay in milliseconds between each reconnection attempt
* @default 1000
*/
reconnectionDelay(): number;
/**
* Sets the delay in milliseconds between each reconnection attempt
* @param v The delay in milliseconds
* @default 1000
* @return This Manager
*/
reconnectionDelay( v: number ): Manager;
/**
* Gets the max reconnection delay in milliseconds between each reconnection
* attempt
* @default 5000
*/
reconnectionDelayMax(): number;
/**
* Sets the max reconnection delay in milliseconds between each reconnection
* attempt
* @param v The max reconnection dleay in milliseconds
* @return This Manager
*/
reconnectionDelayMax( v: number ): Manager;
/**
* Gets the randomisation factor used in the exponential backoff jitter
* when reconnecting
* @default 0.5
*/
randomizationFactor(): number;
/**
* Sets the randomisation factor used in the exponential backoff jitter
* when reconnecting
* @param The reconnection randomisation factor
* @default 0.5
* @return This Manager
*/
randomizationFactor( v: number ): Manager;
/**
* Gets the timeout in milliseconds for our connection attempts
* @default 20000
*/
timeout(): number;
/**
* Sets the timeout in milliseconds for our connection attempts
* @param The connection timeout milliseconds
* @return This Manager
*/
timeout(v: number): Manager;
/**
* Sets the current transport socket and opens our connection
* @param fn An optional callback to call when our socket has either opened, or
* failed. It can take one optional parameter of type Error
* @return This Manager
*/
open( fn?: (err?: any) => void ): Manager;
/**
* @see open( fn );
*/
connect( fn?: (err?: any) => void ): Manager;
/**
* Creates a new Socket for the given namespace
* @param nsp The namespace that cc.gg.socket is for
* @return A new Socket, or if one has already been created for this namespace,
* an existing one
*/
socket( nsp: string ): Socket;
}
/**
* Options we can pass to the socket when connecting
*/
interface ConnectOpts {
/**
* Should we force a new Manager for this connection?
* @default false
*/
forceNew?: boolean;
/**
* Should we multiplex our connection (reuse existing Manager) ?
* @default true
*/
multiplex?: boolean;
/**
* The path to get our client file from, in the case of the server
* serving it
* @default '/socket.io'
*/
path?: string;
/**
* Should we allow reconnections?
* @default true
*/
reconnection?: boolean;
/**
* How many reconnection attempts should we try?
* @default Infinity
*/
reconnectionAttempts?: number;
/**
* The time delay in milliseconds between reconnection attempts
* @default 1000
*/
reconnectionDelay?: number;
/**
* The max time delay in milliseconds between reconnection attempts
* @default 5000
*/
reconnectionDelayMax?: number;
/**
* Used in the exponential backoff jitter when reconnecting
* @default 0.5
*/
randomizationFactor?: number;
/**
* The timeout in milliseconds for our connection attempt
* @default 20000
*/
timeout?: number;
/**
* Should we automically connect?
* @default true
*/
autoConnect?: boolean;
/**
* The host that we're connecting to. Set from the URI passed when connecting
*/
host?: string;
/**
* The hostname for our connection. Set from the URI passed when connecting
*/
hostname?: string;
/**
* If this is a secure connection. Set from the URI passed when connecting
*/
secure?: boolean;
/**
* The port for our connection. Set from the URI passed when connecting
*/
port?: string;
/**
* Any query parameters in our uri. Set from the URI passed when connecting
*/
query?: Object;
/**
* `http.Agent` to use, defaults to `false` (NodeJS only)
*/
agent?: string|boolean;
/**
* Whether the client should try to upgrade the transport from
* long-polling to something better.
* @default true
*/
upgrade?: boolean;
/**
* Forces JSONP for polling transport.
*/
forceJSONP?: boolean;
/**
* Determines whether to use JSONP when necessary for polling. If
* disabled (by settings to false) an error will be emitted (saying
* "No transports available") if no other transports are available.
* If another transport is available for opening a connection (e.g.
* WebSocket) that transport will be used instead.
* @default true
*/
jsonp?: boolean;
/**
* Forces base 64 encoding for polling transport even when XHR2
* responseType is available and WebSocket even if the used standard
* supports binary.
*/
forceBase64?: boolean;
/**
* Enables XDomainRequest for IE8 to avoid loading bar flashing with
* click sound. default to `false` because XDomainRequest has a flaw
* of not sending cookie.
* @default false
*/
enablesXDR?: boolean;
/**
* The param name to use as our timestamp key
* @default 't'
*/
timestampParam?: string;
/**
* Whether to add the timestamp with each transport request. Note: this
* is ignored if the browser is IE or Android, in which case requests
* are always stamped
* @default false
*/
timestampRequests?: boolean;
/**
* A list of transports to try (in order). Engine.io always attempts to
* connect directly with the first one, provided the feature detection test
* for it passes.
* @default ['polling','websocket']
*/
transports?: string[];
/**
* The port the policy server listens on
* @default 843
*/
policyPost?: number;
/**
* If true and if the previous websocket connection to the server succeeded,
* the connection attempt will bypass the normal upgrade process and will
* initially try websocket. A connection attempt following a transport error
* will use the normal upgrade process. It is recommended you turn this on
* only when using SSL/TLS connections, or if you know that your network does
* not block websockets.
* @default false
*/
rememberUpgrade?: boolean;
/**
* Are we only interested in transports that support binary?
*/
onlyBinaryUpgrades?: boolean;
/**
* Transport options for Node.js client (headers etc)
*/
transportOptions?: Object;
/**
* (SSL) Certificate, Private key and CA certificates to use for SSL.
* Can be used in Node.js client environment to manually specify
* certificate information.
*/
pfx?: string;
/**
* (SSL) Private key to use for SSL. Can be used in Node.js client
* environment to manually specify certificate information.
*/
key?: string;
/**
* (SSL) A string or passphrase for the private key or pfx. Can be
* used in Node.js client environment to manually specify certificate
* information.
*/
passphrase?: string
/**
* (SSL) Public x509 certificate to use. Can be used in Node.js client
* environment to manually specify certificate information.
*/
cert?: string;
/**
* (SSL) An authority certificate or array of authority certificates to
* check the remote host against.. Can be used in Node.js client
* environment to manually specify certificate information.
*/
ca?: string|string[];
/**
* (SSL) A string describing the ciphers to use or exclude. Consult the
* [cipher format list]
* (http://www.openssl.org/docs/apps/ciphers.html#CIPHER_LIST_FORMAT) for
* details on the format.. Can be used in Node.js client environment to
* manually specify certificate information.
*/
ciphers?: string;
/**
* (SSL) If true, the server certificate is verified against the list of
* supplied CAs. An 'error' event is emitted if verification fails.
* Verification happens at the connection level, before the HTTP request
* is sent. Can be used in Node.js client environment to manually specify
* certificate information.
*/
rejectUnauthorized?: boolean;
}
}
TypeScript
1
https://gitee.com/madou1217/tank-MGOBE-LockStep.git
git@gitee.com:madou1217/tank-MGOBE-LockStep.git
madou1217
tank-MGOBE-LockStep
tank-MGOBE-LockStep
master

搜索帮助