c++ 创建 socket server
下面一段代码是创建socket server的代码片段:
需要引用的库包括:
#include <sys/types.h>
#include <sys/socket.h>
#include <arpa/inet.h>
int ss = -1;
ss = socket(AF_INET,SOCK_STREAM,0); //获得句柄
if(ss < 0){
fprintf(stderr,"socket create error\n");
return false;
}
server_fd = ss;
sockaddr_in server_addr;
server_addr.sin_family = AF_INET; //协议类型
server_addr.sin_addr.s_addr = htonl(INADDR_ANY);//ip地址
server_addr.sin_port = htons(server_port);//端口号
int ret = bind(ss,(sockaddr*)&server_addr,sizeof(server_addr)); //绑定地址与端口
if(ret < 0){
fprintf(stderr,"error in bind\n");
return false;
}
ret = listen(ss,max_wait_num);//开始监听
if(ret < 0){
fprintf(stderr,"error in listen\n" );
return false;
}
int sc = accept(ss,(sockaddr*)&from,&len);
fprintf(stderr, "get one connection:[%d]\n", sc);
c++ 创建 socket server的更多相关文章
- python socket server源码学习
原文请见:http://www.cnblogs.com/wupeiqi/articles/5040823.html 这里就是自己简单整理一下: #!/usr/bin/env python # -*- ...
- C# Socket系列二 简单的创建 socket 通信
看了系列一 我们开启了对socket tcp的监听状态,那么这一章我们来讲解怎么创建socket的通信代码 我新建一个类 TSocketBase public abstract class TSock ...
- python - socket - server
网络上关于socket的介绍文章数不胜数.自己记录下学习的点点滴滴.以供将来复习学习使用. socket中文的翻译是套接字,总感觉词不达意.简单的理解就是ip+port形成的一个管理单元.也是程序中应 ...
- Python之路-python(面向对象进阶(模块的动态导入、断言、Socket Server))
模块的动态导入 断言 Socket Server 一.模块的动态导入 class C(object): def __init__(self): self.name = "zhangsan&q ...
- python之路 socket、socket server
一.socket socket的英文原义是“孔”或“插座”.作为BSD UNIX的进程通信机制,取后一种意思.通常也 称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,可 ...
- Python socket & socket server
socket 网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket(套接字). 建立网络通信连接至少要一对socket.socket是对TCP/IP的封装 使用方法 ...
- 服务器syns to listen sockets drop导致创建socket失败
在一次测试执行过程中,发现服务器TCP发送队列较长,执行netstat -s | grep LISTEN,发现有SYNs包被丢弃,但是没有times the listen queue of a soc ...
- java网络编程socket\server\TCP笔记(转)
java网络编程socket\server\TCP笔记(转) 2012-12-14 08:30:04| 分类: Socket | 标签:java |举报|字号 订阅 1 TCP的开销 a ...
- Java Socket Server的演进 (一)
最近在看一些网络服务器的设计, 本文就从起源的角度介绍一下现代网络服务器处理并发连接的思路, 例子就用java提供的API. 1.单线程同步阻塞式服务器及操作系统API 此种是最简单的socket服务 ...
随机推荐
- 三、jdk工具之jstack(Java Stack Trace)
目录 一.jdk工具之jps(JVM Process Status Tools)命令使用 二.jdk命令之javah命令(C Header and Stub File Generator) 三.jdk ...
- 设置Linux下Mysql表名不区分大小写
1.Linux下mysql安装完后是默认:区分表名的大小写,不区分列名的大小写:2.用root帐号登录后,在/etc/my.cnf中的[mysqld]后添加添加lower_case_table_nam ...
- c#生成缩略图
publicstaticvoidGenThumbnail(Image imageFrom,stringpathImageTo,intwidth,intheight) { ...
- NodeJS学习历程 - (一)工具篇
后端工具 1.express:开发框架 npm install express 2.mongoose:MongoDB的处理插件 npm install mongoose 教程一:Mongoose全面理 ...
- 02.lib-v1.js
/* Date: 2014-07-29 4:06:07 [PM] */ function StringBuilder() { this.strings = new Array, this.length ...
- T450设置插入USB鼠标时自动禁用触摸板
刚入手T450,打字时经常碰到触摸板,很是恼火,于是求助万能的度娘,找了卡饭基佬的教程,实测可行,大家可以试试.<win7下如何设置插入USB鼠标时自动禁用触摸板>,地址:www.kafa ...
- Ext.MessageBox
Ext.require([ 'Ext.window.MessageBox', 'Ext.tip.*' ]); Ext.onReady(function(){ Ext.MessageBox.confir ...
- SQLSERVER:计算数据库中各个表的数据量和每行记录所占用空间
转:http://www.cnblogs.com/lyhabc/p/3828496.html CREATE TABLE #tablespaceinfo ( nameinfo ) , rowsinfo ...
- 初次体验架设PHP网站
最近需要快速架设一个网站,因此淘了一份成型的模板,然后就开始..过程比较曲折. 测试环境:Win7旗舰+IIS7.5+mysql5.6+PHP5.2.17+PHPManagerForIIS-1.1. ...
- 【转载】s3c2440裸机开发调试环境(MDK4.6,Jlink v8,mini2440)
用于arm裸机程序开发的IDE基本有 以下3个:MDK,IAR,还有ADS.具体它们的具体情况在这里我就不多说了,百度一下就明白了.由于之前开发c51,stm32时候都使用了MDK开发环境,而且MDK ...