⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 nssocket.h

📁 P2P文件共享基于ns2的仿真代码
💻 H
字号:
#ifndef __NS_SOCKET_H#define __NS_SOCKET_H#include "node.h"#include "packet.h"#include "tcp-sock.h"#include "ip.h"#define UNCONNECTED 0#define CONNECTING 1#define CONNECTED 2#define BLOCKED 3#define CLOSING 4#define ENOTCONN 1#define EWOULDBLOCK 2#define SOCK_WRITE 0#define SOCK_READ 1#ifdef PDNStypedef ipaddr_t NodeAddr_t;typedef ipportaddr_t Port_t;#elsetypedef nsaddr_t NodeAddr_t;typedef nsaddr_t Port_t;#endifclass SocketApp;typedef struct {  NodeAddr_t addr_;  Port_t port_;} SockAddr_t;class NSSocket: public AdvwTcpApplication { public:  NSSocket();    SocketApp *app_;  void connect(NodeAddr_t, Port_t);   virtual int send(int len, PacketData *data);  void _bind(NodeAddr_t, Port_t);  virtual void recv();  int blocked(int op);  void connect();  int state_;  int errno_;  SockAddr_t peer_;  int sec_;  int secRcv_;  int rate_limit_;  int isPrio_;  virtual void upcall_send();  virtual int upcall_recv(PacketData *);  void upcall_connected(Packet *);  void upcall_passconn();  void upcall_closing();  NodeAddr_t addr_;  Port_t port_;  void upcall_accept(Packet *);  void listen(int max);  void close();  NodeAddr_t daddr() {return agent_->daddr();}  Port_t dport() {return agent_->dport();} protected:  int command(int argc, const char*const* argv);};typedef NSSocket Socket;class SocketApp: public TclObject { public:  SocketApp() {};  virtual int upcall_recv(Socket *, PacketData *, Handler *) {};  virtual void upcall_connected(Socket *) {};  virtual void upcall_passconn(Socket *) {};  virtual void upcall_closing(Socket *) {};  virtual void upcall_send(Socket *) {};};#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -