mdtcp.c

来自「一个C编写网络广播的程序」· C语言 代码 · 共 46 行

C
46
字号
/* mdtcp.c -- tcp sockets support functions *   * This file is part of 'netcast' program, released under BSD License.  * (c) 2001-2002 Stanis砤w Pa秌o <staszek@nutki.com>. All rights reserved.    */#include <sys/types.h>#include <sys/socket.h>#include <arpa/inet.h>#include "mdist.h"#include "mdtcp.h"#include "util.h"/* Open server at - optionally - given address and - optional -   given port */int mdtcp_open_server(char *addr,unsigned short port) {  int s;  struct sockaddr_in sin;  port = port?port:MDTCP_DPORT;  sin = make_addr(addr,port);  if ((s=socket(AF_INET,SOCK_STREAM,0))<0)     crit("socket() failed, error allocationg tcp socket");  if (bind(s,(struct sockaddr *) &sin,sizeof(struct sockaddr_in))<0)    crit("bind() failed, error binding tcp socket");  if (listen(s,5)<0)     crit("listen() failed, error listening on socket");  MSG(3,"Server ready at %s:%d",inet_ntoa(sin.sin_addr),port);  return s;}/* Open connection to server, addr is required */int mdtcp_open_client(char *addr,unsigned short port) {  int s;  struct sockaddr_in sin;  port = port?port:MDTCP_DPORT;  sin = make_addr(addr,port);  if ((s=socket(AF_INET,SOCK_STREAM,0))<0)     crit("socket() failed, error allocationg tcp socket");  if (connect(s,(struct sockaddr *) &sin, sizeof(struct sockaddr_in))<0)     crit("connect() failed, cannot connect to server");  MSG(3,"Connected to server %s:%d",inet_ntoa(sin.sin_addr),port);  return s;}

⌨️ 快捷键说明

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