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

📄 tklistener.cc

📁 这是P2P流媒体方案-NICE的实现源码
💻 CC
字号:
#include <stdlib.h>#include <unistd.h>#include <sys/time.h>#include <pthread.h>#include <fstream.h>#include <string>#include <sys/socket.h>#include "coop-agent.h"int pkt_cnt = 1;ofstream out;string getLine(int sock) {  string ret;  char c;  int recv_len;    while((recv_len = recv(sock, &c, 1, 0)) == 1) {    ret += c;    if(c == '\n')      break;  }  return ret;}string getMsg(int sock) {  string ret, line;  while(1) {    line = getLine(sock);    ret += line;    if(line == "EOL\n")      break;  }  return ret;}void packet_handler(char* msg, int len) {  out << pkt_cnt++ << endl;  out << flush;}void* thread_start(void* arg) {  coopAgent* agent = (coopAgent*)arg;  agent->start();  return NULL;}int main(int argc, char ** argv) {    if (argc != 4) {    printf("usage: %s < agent id > < port num > < bse host name >\n", argv[0]);    exit(0);  }  pthread_t thread;  struct timeval tv;  char time[10];  char filename[30];  strcpy(filename, "listener");  gettimeofday(&tv, NULL);  sprintf(time, "%d", (int)tv.tv_sec);  strcat(filename, time);  strcat(filename, ".txt");  coopAgent mycoop;  out.open(filename, ios::out);  if(out.fail()) {    cout << "error opening file for writing" << endl;    exit(0);  }  mycoop.init(atoi(argv[1]),0,atoi(argv[2]), argv[3]);  mycoop.add_listening_fd(mycoop.udp_sock, packet_handler);  initTimeout();  pthread_create(&thread, NULL, thread_start, &mycoop);  printf("my coop started\n");    pthread_join(thread, NULL);  return 0; }

⌨️ 快捷键说明

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