accept()
- 外文名
- accept()
- 文件包含
- #include <sys/socket.h>
- 原 型
- SOCKET PASCAL accept
- 返回值
- 失败返回-1
表达式简介编辑
例子(c++)编辑
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
#ifndef UNICODE #defineUNICODE#endif#include <winsock2.h>#include <stdio.h>#include <windows.h>//NeedtolinkwithWs2_32.lib#pragmacomment(lib,"Ws2_32.lib")int wmain(void){ //---------------------- //InitializeWinsock. WSADATAwsaData ; intiResult=WSAStartup(MAKEWORD(2,2),&wsaData); if(iResult!=NO_ERROR) { wprintf(L "WSAStartupfailedwitherror:%ld\n",iResult); return 1 ; } //---------------------- //CreateaSOCKETforlisteningfor //incomingconnectionrequests. SOCKETListenSocket ; ListenSocket=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP); if(ListenSocket==INVALID_SOCKET) { wprintf(L "socketfailedwitherror:%ld\n",WSAGetLastError()); WSACleanup(); return 1 ; } //---------------------- //Thesockaddr_instructurespecifiestheaddressfamily, //IPaddress,andportforthesocketthatisbeingbound. sockaddr_inservice ; service.sin_family=AF_INET ; service.sin_addr.s_addr=inet_addr("127.0.0.1"); service.sin_port=htons(27015); if(bind(ListenSocket, (SOCKADDR*)&service,sizeof(service))==SOCKET_ERROR) { wprintf(L"bindfailedwitherror:%ld\n",WSAGetLastError()); closesocket(ListenSocket); WSACleanup(); return 1 ; } //---------------------- //Listenforincomingconnectionrequests. //onthecreatedsocket if(listen(ListenSocket,1)==SOCKET_ERROR) { wprintf(L"listenfailedwitherror:%ld\n",WSAGetLastError()); closesocket(ListenSocket); WSACleanup(); return 1 ; } //---------------------- //CreateaSOCKETforacceptingincomingrequests. SOCKETAcceptSocket ; wprintf(L "Waitingforclienttoconnect...\n"); //---------------------- //Accepttheconnection. AcceptSocket=accept(ListenSocket,NULL,NULL); if(AcceptSocket==INVALID_SOCKET) { wprintf(L "acceptfailedwitherror:%ld\n",WSAGetLastError()); closesocket(ListenSocket); WSACleanup(); return 1 ; } else wprintf(L "Clientconnected.\n"); //Nolongerneedserversocket closesocket(ListenSocket); WSACleanup(); return 0 ;} |
注释编辑
错误代码编辑
accept()的更多相关文章
- How to accept Track changes in Microsoft Word 2010?
"Track changes" is wonderful and remarkable tool of Microsoft Word 2010. The feature allow ...
- GJM : 中断被Socket.Accept阻塞的线程
原帖地址:http://blog.csdn.net/kingfox/article/details/7233350 原文作者:狐帝 刚刚学习C#,在编写一个网络通讯的程序的时候,遇到了点麻烦.监听代码 ...
- Linux进程间通信(八):流套接字 socket()、bind()、listen()、accept()、connect()、read()、write()、close()
前面说到的进程间的通信,所通信的进程都是在同一台计算机上的,而使用socket进行通信的进程可以是同一台计算机的进程,也是可以是通过网络连接起来的不同计算机上的进程.通常我们使用socket进行网络编 ...
- <input type="file" id="camera" multiple="multiple" capture="camera" accept="image/*"> 上传图片,手机调用相册和摄像头
<input type="file" id="camera" multiple="multiple" capture="ca ...
- 调试 zeromq 发现 accept 死循环
起因:在群里一个同学说使用 zeromq 的时候出了点儿问题,问题描述如下“router连接十几万客户端后,然后把router杀死,重启,这时候zeromq的某个线程99%的cpu,卡死了,再也接受不 ...
- UNIX网络编程-非阻塞connect和非阻塞accept
1.非阻塞connect 在看了很多资料之后,我自己的理解是:在socket发起一次连接的时候,这个过程需要一段时间来将三次握手的过程走完,如果在网络状况不好或者是其他的一些情况下,这个过程需要比较长 ...
- 高性能网络编程(一)----accept建立连接
编写服务器时,许多程序员习惯于使用高层次的组件.中间件(例如OO(面向对象)层层封装过的开源组件),相比于服务器的运行效率而言,他们更关注程序开发的效率,追求更快的完成项目功能点.希望应用代码完全不关 ...
- According to TLD or attribute directive in tag file, attribute test does not accept any expressions
HTTP Status 500 - /WEB-INF/views/emp/list.jsp (line: 30, column: 4) According to TLD or attribute di ...
- input[file]标签的accept=”image/*”属性响应很慢的解决办法
转自:http://blog.csdn.net/lx583274568/article/details/52983693 input[file]标签的accept属性可用于指定上传文件的 MIME类型 ...
- Socket accept failed
启动tomcat显示如下错误: java.net.SocketException: select failed at java.net.PlainSocketImpl.socketAccept(Nat ...
随机推荐
- Win7激活工具|OEM小马激活
OEM小马激活,Win7激活. 免费下载:http://yunpan.cn/cmZ5DyDvXG2In 访问密码 7fcf
- window 安装redis服务、卸载redis服务和启动redis服务
1.安装redis服务 redis-install.bat 1 echo install redis-server23 D:\redis\redis-server.exe --service-inst ...
- error_reporting()
定义和用法 error_reporting() 设置 PHP 的报错级别并返回当前级别. 语法 error_reporting(report_level) 如果参数 level 未指定,当前报错级别将 ...
- 使用Git时一些问题的处理
更新日志: 2016.06.04 晚 添加 git push --force (用于删除高版本的commit) 2015.11.29 晚 添加冲突处理工具Meld的教程 添加在GitHub上Rever ...
- PS转手绘
2014-08-03 一.人物皮肤处理 复制两层图层,对背景图层隐藏,最后一层 高斯模糊 ,按住ALT创建图层蒙版, 使用画笔工具涂抹人物皮肤,眼睛不涂,把阴影和高光处抹均匀,最后应用图层蒙版,向下 ...
- 在Winform中播放视频等【DotNet,C#】
在项目中遇到过这样的问题,就是如何在Winform中播放视频.当时考察了几种方式,第一种是直接使用Windows Media Player组件,这种最简单:第二种是利用DirectX直接在窗体或者控件 ...
- Swift开发小技巧--扫描二维码,二维码的描边与锁定,设置扫描范围,二维码的生成(高清,无码,你懂得!)
二维码的扫描,二维码的锁定与描边,二维码的扫描范围,二维码的生成(高清,无码,你懂得!),识别相册中的二维码 扫描二维码用到的三个重要对象的关系,如图: 1.懒加载各种类 // MARK: - 懒加载 ...
- bzoj1834
第一问很好搞.第二问事实上可以这么想.如果一条边的流量还有,那么我们走过去不要钱,否则要钱,于是跑个费用流,就好了 (其实跑k次spfa也可以,我是这么写的) #include<cstdio&g ...
- Maven-pom.xml详解
(看的比较累,可以直接看最后面有针对整个pom.xml的注解) pom的作用 pom作为项目对象模型.通过xml表示maven项目,使用pom.xml来实现.主要描述了项目:包括配置文件:开发者需要遵 ...
- jquery-jsrender使用
JsRender是一款基于jQuery的JavaScript模版引擎 特点: · 简单直观 · 功能强大 · 可扩展的 · 快如闪电 jsrender使用比较简单,本文简单结束一些常用的 使用过程 ...