- 5
- 0
- 约3.23千字
- 约 4页
- 2018-03-31 发布于河南
- 举报
socket套接字的使用
socket 套接字的使用
socket 服务器端和客户端通信,面向TCP的
服务器端步骤:
1、创建用于监听的套接字(socket)
2、将套接字绑定到本地地址和端口上(bind)
3、将套接字设为监听模式(listen)
4、等待客户请求(accept),此处要不断的调用accept
5、通信(send/receive),完成后返回4
6、关闭套接字(closesocket)
?
客户端步骤:
1、创建套接字
2、向服务器发送连接请求(connect)
3、通信(send/recv)
4、关闭套接字
?
程序代码:
服务器端:
?
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 #include WinSock2.h
#include stdio.h
#pragma comment(lib,Ws2_32.lib.)
??
void main()
{
??
????/* 加载套接字库 */
????WORD wVersionRequested;
????// 所使用套接字的版本号
????WSADATA wsaData;
????// 存储套接字版本的有关信息
????int err;
??
????wVersionRequested = MAKEWORD(1,1);
????// 请求版本号,高位和低位字节均为1
??
????err = WSAStartup(wVersionRequested,wsaData);
????// 加载套接字
????if(err != 0)
????{
????????return;
????}
??
????if (LOBYTE(wsaData.wVersion)!=1 ||
????????HIBYTE(wsaData.wVersion)!=1)
????{
????????WSACleanup();
????????//如果高位或低位字节不为1终止对套接字的使用
????????return;
????}
??
????/* 创建用于监听的套接字 */
????SOCKET sockSrv = socket(AF_INET,SOCK_STREAM,0);
????// 创建套接字,流式套接字,第三个参数设为0则自动选择合适的协议
??
????/* 绑定套接字 */
????SOCKADDR_IN addrSrv;
????// 服务器地址信息,使用SOCKADDR_IN 代替SOCKETADD, 结构体的大小相等,可强制转换
????addrSrv.sin_addr.S_un.S_addr = htonl(INADDR_ANY);
????addrSrv.sin_family=AF_INET;
????addrSrv.sin_port=htons(600);
????// 使用htons函数转换为网络字节序
??????
????bind(sockSrv,(SOCKADDR *)addrSrv,sizeof(SOCKADDR));
????// 将监听套接字绑定到本地地址和端口上
????listen(sockSrv,5);
????// 监听
??
????/* 等待客户到来并接收发送数据 */
????SOCKADDR_IN addrClient;
????// 接收客户地址信息缓冲区
????int len=sizeof(SOCKADDR);
??
????while(1){
????????SOCKET sockConn = accept(sockSrv,(SOCKADDR*)addrClient,len);
????????// 等待接收客户连接请求,并返回连接套接字,利用这个套接字实现通信
????????char sendBuf[100];
????????sprintf(sendBuf,Welcome %s to /xiao-cheng,
????????????inet_ntoa(addrClient.sin_addr));
????????send(sockConn,sendBuf,strlen(sendBuf)+1,0);
????????// 发送数据,多加一个长度是字符串结束符
????????char recvBuf
您可能关注的文档
最近下载
- 新高考地理一轮复习考点练习微专题 太阳的视运动(解析版).docx VIP
- 《世界上最神奇的24堂课》读书笔记(一).pdf VIP
- 压裂施工曲线分析课件.ppt VIP
- 集中度与劳动力市场的影响.docx VIP
- 透析室库房管理规范.pptx VIP
- 中国文化产业和旅游业年度研究报告(2024)精华版.pdf VIP
- 2026中国电信四川公用信息产业有限责任公司社会成熟人才招聘备考题库有完整答案详解.docx VIP
- 2013年《BP世界能源统计年鉴》.pdf VIP
- 2026中国电信四川公用信息产业有限责任公司社会成熟人才招聘备考题库及答案详解(考点梳理).docx VIP
- 国外无人机文献篇未翻译.pdf VIP
原创力文档

文档评论(0)