Socket编程的一些技巧收集[持续更新]
2009-07-31 23:05
471 查看
1.服务端和客户端编写的步骤
同步服务端:
初始化socket
创建IP、端口,并绑定
监听该socket
创建线程等待接受客户端连接
客户端连接,建立工作线程进行处理
关闭socket 同步客户端:初始化socket
创建目标socket,IP、端口
进行连接
开启线程等待收发消息
关闭socket异步服务端:
初始化socket
创建IP、端口,并绑定
绑定窗口,并开始监听
等待在事件中接收、处理消息
关闭socket
异步客户端:
初始化socket
创建IP、端口,并绑定
绑定窗口,并连接服务端
等待在事件中接收、处理消息
关闭socket
注:以上大体上应该是这样,欢迎拍砖
2.发送结构体
拿结构体来进行服务端和客户端通信感觉挺好,以前都是拿字符串来进行一些控制什么的
下面给出代码:
先说发送方,首先定义结构体:
typedef struct _Test
{
int x;
int y;
char buff[32];
} Test,*pTest;
然后建立一个结构体对象,并填充数据:
Test t;
t.x = 18;
t.y = 20;
strcpy(t.buff,"abcdefg");
接着声明一个指向Test结构体的指针,并指向t:
pTest p;
p = &t;
接着发送
sendSock->SendTo(p,sizeof(Test),1990,"127.0.0.1");
注:我是用UDP自己发给自己的
关键部分就是结构体的大小要弄对,发送到时候,去内存读取结构体大小的字节,然后进行发送。如果读取内存的大小弄错了,是无法正常收取的。
下面说接收方:
首先定义用来接收字符串的数组
char buff[256];
接着接受:
Receive(buff,256);
然后再定义一个结构体指针,并强制转换成指针
pTest pt;
pt = (pTest)buff;
OK,完成
3.转字符串数组:
调用inet_ntoa
同步服务端:
初始化socket
创建IP、端口,并绑定
监听该socket
创建线程等待接受客户端连接
客户端连接,建立工作线程进行处理
关闭socket 同步客户端:初始化socket
创建目标socket,IP、端口
进行连接
开启线程等待收发消息
关闭socket异步服务端:
初始化socket
创建IP、端口,并绑定
绑定窗口,并开始监听
等待在事件中接收、处理消息
关闭socket
异步客户端:
初始化socket
创建IP、端口,并绑定
绑定窗口,并连接服务端
等待在事件中接收、处理消息
关闭socket
注:以上大体上应该是这样,欢迎拍砖
2.发送结构体
拿结构体来进行服务端和客户端通信感觉挺好,以前都是拿字符串来进行一些控制什么的
下面给出代码:
先说发送方,首先定义结构体:
typedef struct _Test
{
int x;
int y;
char buff[32];
} Test,*pTest;
然后建立一个结构体对象,并填充数据:
Test t;
t.x = 18;
t.y = 20;
strcpy(t.buff,"abcdefg");
接着声明一个指向Test结构体的指针,并指向t:
pTest p;
p = &t;
接着发送
sendSock->SendTo(p,sizeof(Test),1990,"127.0.0.1");
注:我是用UDP自己发给自己的
关键部分就是结构体的大小要弄对,发送到时候,去内存读取结构体大小的字节,然后进行发送。如果读取内存的大小弄错了,是无法正常收取的。
下面说接收方:
首先定义用来接收字符串的数组
char buff[256];
接着接受:
Receive(buff,256);
然后再定义一个结构体指针,并强制转换成指针
pTest pt;
pt = (pTest)buff;
OK,完成
3.转字符串数组:
调用inet_ntoa
相关文章推荐
- 一些VC编程中的技巧[持续更新]
- 一些有意思的面试题(持续更新) .C语言编程技巧札记
- 收集的一些编程网站——持续更新中......
- 一些VC编程中的技巧[持续更新]
- Mac上的软件的一些对开发者有用的使用技巧(持续更新)
- vs编译的一些技巧(持续更新中)
- socket编程遇到的一些函数错误及技巧
- git的一些技巧收集(不定期更新)
- MySQL使用技巧收集,持续更新中......
- 收集整理了一些开发技巧专题,并汇集成一个编程学习网站
- 关于数据库的一些问题收集(持续更新)
- Linux的一些基本技巧(不断收集,更新中)
- 收集关于前端的一些网站、博客资源、框架、源码等 、 会持续更新哦!!!!!
- 平时收集的一些有关UED的团队和个人博客(持续更新)
- 一些好的博客收集(持续更新中)
- java编程中的一些技巧(持续更新中)
- 关于实际开发中优化web的一些小技巧汇总(持续更新中)
- Hadoop的一些常用工具和技巧 【持续更新】
- Winform常用的一些功能收集(持续更新)
- Winform常用的一些功能收集(持续更新)