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 ...
随机推荐
- python2.7到python3代码转换脚本2to3的一些介绍
你的位置: Home ‣ Dive Into Python 3 ‣ 难度等级: ♦♦♦♦♦ 使用2to3将代码移植到Python 3 ❝ Life is pleasant. Death is ...
- SharePoint 2013 本地开发解决方案以及远程调试
转自:http://www.cnblogs.com/jianyus/p/3523387.html 在SharePoint开发中,我们需要在部署有SharePoint环境的服务器中开发,这是一件让人很苦 ...
- java文件上传和下载
简介 文件上传和下载是java web中常见的操作,文件上传主要是将文件通过IO流传放到服务器的某一个特定的文件夹下,而文件下载则是与文件上传相反,将文件从服务器的特定的文件夹下的文件通过IO流下载到 ...
- vmware 虚拟机克隆之后配IP重启网络失败
在日常实验中,我新安装了一个虚拟机(全新的)node1,然后为了实验,又克隆了一天虚拟机node2 然后我给两台机器设置IP和主机名node1 : 192.168.220.128 node2 : 1 ...
- Entity Framework Code First (六)存储过程
声明:本文只针对 EF6+ 默认情况下,Code First 对实体进行插入.更新.删除操作是直接在表上进行的,从 EF6 开始你可以选择使用存储过程(Stored Procedures) 简单实体映 ...
- 微信扫码支付 php
仔细看了一遍官方的那幅流程图,我来简化理解一下(注意:我这里针对的是扫码支付模式一,模式二没什么说的)网站后台生成二维码,当然是跟据前台传来的参数有条件的生成买家扫描二维码,扫描过程中,微信后台系统回 ...
- mysql数据库默认存放位置修改
windows: 方式一 使用符号连接 假设你的mysql安装在c:\mysql,数据目录就是c:\mysql\data 现在你想在D 盘建立一个名为foo的数据库,路径为d:\data\foo. ...
- android开发之生命周期
android开发之生命周期 一:Activity的生命周期: 这几天了了解了安卓Activity的生命周期,对于生命周期有了大概的理解: 一个Activity的生命周期也就是Activity从生成到 ...
- POJ 2796 Feel Good(单调栈)
传送门 Description Bill is developing a new mathematical theory for human emotions. His recent investig ...
- HDU 1698 Just a Hook(线段树/区间更新)
题目链接: 传送门 Minimum Inversion Number Time Limit: 1000MS Memory Limit: 32768 K Description In the g ...