本文整理汇总了C++中ServerSocket::setAddress方法的典型用法代码示例。如果您正苦于以下问题:C++ ServerSocket::setAddress方法的具体用法?C++ ServerSocket::setAddress怎么用?C++ ServerSocket::setAddress使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ServerSocket
的用法示例。
在下文中一共展示了ServerSocket::setAddress方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: guard
/*
* 起一个监听端口。
*
* @param spec: 格式 [upd|tcp]:ip:port
* @param streamer: 数据包的双向流,用packet创建,解包,组包。
* @param serverAdapter: 用在服务器端,当Connection初始化及Channel创建时回调时用
* @return IO组件一个对象的指针
*/
IOComponent *Transport::listen (const char *spec, IPacketStreamer *streamer,
IServerAdapter *serverAdapter, int timeout) {
MutexGuard guard(&_stopMutex);
if (_stop) {
ANET_LOG(SPAM, "Transport(%p) Stoped!", this);
return NULL;
}
if (NULL == spec || NULL == streamer || NULL == serverAdapter) {
ANET_LOG(WARN, "Invalid parameters for listen(%p,%p,%p)",
spec, streamer, serverAdapter);
return NULL;
}
char tmp[512];
char *args[32];
strncpy(tmp, spec, 512);
tmp[511] = '\0';
if (parseAddr(tmp, args, 32) != 3) {
return NULL;
}
if (strcasecmp(args[0], "tcp") == 0) {
char *host = args[1];
int port = atoi(args[2]);
// Server Socket
ServerSocket *socket = new ServerSocket();
assert(socket);
if (!socket->setAddress(host, port)) {
delete socket;
return NULL;
}
// TCPAcceptor
TCPAcceptor *acceptor
= new TCPAcceptor(this, socket, streamer, serverAdapter, timeout);
assert(acceptor);
if (!acceptor->init()) {
delete acceptor;
return NULL;
}
// 返回
return acceptor;
} else if (strcasecmp(args[0], "udp") == 0) {}
return NULL;
}
示例2: strncpy
/*
* 起一个监听端口。
*
* @param spec: 格式 [upd|tcp]:ip:port
* @param streamer: 数据包的双向流,用packet创建,解包,组包。
* @param serverAdapter: 用在服务器端,当Connection初始化及Channel创建时回调时用
* @return IO组件一个对象的指针
*/
IOComponent *Transport::listen(const char *spec, IPacketStreamer *streamer,
IServerAdapter *serverAdapter) {
char tmp[1024];
char *args[32];
strncpy(tmp, spec, 1024);
tmp[1023] = '\0';
if (parseAddr(tmp, args, 32) != 3) {
return NULL;
}
if (strcasecmp(args[0], "tcp") == 0) {
char *host = args[1];
int port = atoi(args[2]);
// Server Socket
ServerSocket *socket = new ServerSocket();
if (!socket->setAddress(host, port)) {
delete socket;
return NULL;
}
// TCPAcceptor
TCPAcceptor *acceptor = new TCPAcceptor(this, socket, streamer, serverAdapter);
if (!acceptor->init()) {
delete acceptor;
return NULL;
}
// 加入到iocomponents中,及注册可读到socketevent中
addComponent(acceptor, true, false);
// 返回
return acceptor;
} else if (strcasecmp(args[0], "udp") == 0) {}
return NULL;
}