没有合适的资源?快使用搜索试试~ 我知道了~
首页CSocket编程介绍
CSocket编程介绍
需积分: 48 14 下载量 109 浏览量
更新于2023-03-16
评论 1
收藏 43KB DOCX 举报
CSocket编程介绍文档CSocket类是CAsyncSocket类的派生类,它继承了Windows Socket API封装函数。它实现了比CAsyncSocket类对Windows Sockets更高层的抽象。它与CSocketFile类和CArchive类合作完成对数据的发送、接收的管理,并提供了对于同步操作CArchive对象非常重要的阻塞功能,使程序员在管理数据的发送和接收的工作变得简单。本篇只介绍如何使用CSocket类实现网络连接,更多内容请见后续更新
资源详情
资源评论
资源推荐
最简单的 CSocket 编程
客户段线程函数
UINT fun(LPVOID pParam)
{
CSocket ;
.Create();
.Connect(_T("127.0.0.1"),1500);
CString cc;
cc=_T("abcdef");
.Send(cc,cc.GetLength(),0);
return 0;
}
服务端线程函数
UINT fun(LPVOID pParam)
{
CSocket ss;
ss.Create(1500);
ss.Listen();
CSocket sss;
ss.Accept(sss);
int rec=sss.Receive(buer,200,0);
buer[rec]=0;
CString str;
str.Format(_T("%s"),buer);
MessageBox((HWND)pParam,str,0,0);
return 0;
}
#Vc
CSocket 网络编程基础(一)
类是 类的派生类,它继承了 封装
函数。它实现了比 类对 更高层的抽象。它与
类和 类合作完成对数据的发送、接收的管理,并提供了对于同
步操作 对象非常重要的阻塞功能,使程序员在管理数据的发送和接收的工作变
得简单。本篇只介绍如何使用 类实现网络连接,更多内容请见后续更新。
简要步骤:
服务器端:
()创建 对象
()调用 函数
()调用 进行监听
( )如有客户端连接则调用 !进行接收连接。(注:此函数无需认
为调用, 类会自动调用)
客户端:
()创建 对象
()调用 函数
()调用 函数进行连接。
详细步骤:
服务器端:
()首先从 类继承一个新类 "
()改写构造函数
"#$"%!$"&'()#!$"!$"
*
+,,!$" 为欲在其中建立网络连接的类对象
()改写 " 类接收函数
"-!.
*
,,/-$-在此添加专用代码和,或调用基类
)#!$"01-!2
-!.2
+
( )为 #$" 类添加函数
,,此函数在客户端请求连接时,自动被调用
#$"-!
*
%!&2
3)#!01!%!
*+
44)#!2
+
在 #$"-$"中添加:
5--#$"-$"
*
$"-$"2
6666666666666666,,此处略去不相关代码
,,/-$-在此添加额外的初始化代码
)#!&"2
37)#!0189
44:.2
37)#!01
*
44)#!012
44:.2
+
:/;(.2,,除非将焦点设置到控件,否则返回 /;(.
+
客户端:
()首先从 类继承一个新类
()改写构造函数
<$"%!$"
)#!$"!$"
*
+,,!$" 为欲在其中建立网络连接的类对象
()建立连接请求
)#&2
37)#01
*
44="5>#/?无法建立套接字?2
44:2
+
37)#01<@89
*
44="5>#/?无法建立连接?2
44)#012
44:2
+,,至此,两端连接已建立,在此基础上可进行网络通信。
#Mfc
使用 socket 写代码主要是要看自己的需求是什么。
如果通信时,内容很重要就要使 TCP 方式。
如果用户数太多,可能就要使用 UDP 方式了。
在 TCP 模式下,最简单的方式就是这样的,使阻塞方式:
服务端:
1.初始化 socket 环境,创建 socket
2.梆定一个端口
3.开始监听
4.接收客户端
5.接收到客户端之后,使用这个 socket 来与这个客户通信
#include "stdAfx.h"
#include <winsock2.h>
#include <mswsock.h>
#include <iostream>
using namespace std;
#pragma comment(lib, "ws2_32.lib")
#pragma comment(lib, "mswsock.lib")
DWORD IniSOCKDLL()
{
WORD wVersionRequested;
WSADATA wsaData;
int err=0;
wVersionRequested = MAKEWORD( 2, 2 );
err = WSAStartup( wVersionRequested, &wsaData );
return err;
}
int main(int argc, char* argv[])
{
cout<<"程序开始"<<endl;
IniSOCKDLL();
SOCKET ss=WSASocket(AF_INET,
SOCK_STREAM,
0,
NULL,
0,
NULL);
SOCKADDR_IN addr;
int len;
addr.sin_family=AF_INET;
addr.sin_addr.s_addr = htonl(INADDR_ANY);
addr.sin_port = htons(1002);
len=sizeof(addr);
bind(ss , (PSOCKADDR)&addr , len);
listen(ss,5);
SOCKET sc=accept(ss,(PSOCKADDR)&addr,&len);
char buff[1024];
ZeroMemory(buff,1024);
recv(sc,buff,1024,0);
cout<<buff<<endl;
ZeroMemory(buff,1024);
memcpy(buff,"123",3);
send(sc,buff,3,0);
closesocket(sc);
closesocket(ss);
剩余19页未读,继续阅读
u010698657
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- stc12c5a60s2 例程
- Android通过全局变量传递数据
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0