找回密码
 立即注册→加入我们

QQ登录

只需一步,快速开始

搜索
热搜: 下载 VB C 实现 编写
查看: 7582|回复: 15

【源码】一个简单的TCP点对点聊天(可用于广域网/公网)

[复制链接]

55

主题

271

回帖

9330

积分

用户组: 管理员

UID
77
精华
16
威望
237 点
宅币
8199 个
贡献
251 次
宅之契约
0 份
在线时间
253 小时
注册时间
2014-2-22
发表于 2014-3-20 21:33:02 | 显示全部楼层 |阅读模式

欢迎访问技术宅的结界,请注册或者登录吧。

您需要 登录 才可以下载或查看,没有账号?立即注册→加入我们

×
本帖最后由 美俪女神 于 2014-3-20 21:35 编辑

某天心血来潮想学一下网络编程,于是坛主不惜逃课教我。。。
最后折腾了两天,弄好了。共享下源代码。
这个程序可以发送文字消息和文件(发送文件的话,直接输入文件所在路径。如果检测到“消息”是一个存在的文件的话,就会把文件的内容发送)。
但是发送文件只在局域网实用,在公网的话,只能发送小于PAGE_SIZE(4KB)的文件,文件所在路径是c:\tempfile.随机后缀名(类似于c:\tempfile.20010101121212)。

使用说明(如果失败则尝试关闭两台电脑的防火墙):
1.先运行server,输入“msg s 8000 0”
2.再运行client,输入“msg c x.x.x.x 8000”,x.x.x.x为server的IP地址(如果用于公网通信,则输入公网IP)

如果用于公网通信,则对server所在网络环境有一定要求:
1.独立IP(3G网卡、长城宽带等不行,VPS可以)
2.可以设置路由器的端口XXXX映射到服务器所在的内网IP(比如映射8000端口到192.168.1.100,192.168.1.100为服务器的内网IP)

最后说下,这个程序没有用太多WINDOWS API(WSA开头的几个API除外),应该可以方便移植到其它平台。代码在WINDOWS下可以直接编译为WIN32和WIN64程序,无任何特殊处理。

tcp_msg_v2.rar

77.24 KB, 下载次数: 134

回复

使用道具 举报

1109

主题

1649

回帖

7万

积分

用户组: 管理员

一只技术宅

UID
1
精华
244
威望
743 点
宅币
24180 个
贡献
46222 次
宅之契约
0 份
在线时间
2294 小时
注册时间
2014-1-26
发表于 2014-3-23 04:15:20 | 显示全部楼层
这个真心不错,它还让我发现了UDP的一个特性:你用sendto发送一个0字节数据包,recvfrom也能收到它。
这个细节我是看了你的实例才发现的
回复 赞! 靠!

使用道具 举报

KxIX 该用户已被删除
发表于 2014-3-23 17:19:21 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 赞! 靠!

使用道具 举报

0

主题

19

回帖

51

积分

用户组: 小·技术宅

UID
150
精华
0
威望
1 点
宅币
30 个
贡献
0 次
宅之契约
0 份
在线时间
0 小时
注册时间
2014-3-24
发表于 2014-3-24 00:33:13 | 显示全部楼层
嘿嘿~网络初学者收下了~
回复 赞! 靠!

使用道具 举报

0

主题

19

回帖

51

积分

用户组: 小·技术宅

UID
158
精华
0
威望
1 点
宅币
30 个
贡献
0 次
宅之契约
0 份
在线时间
0 小时
注册时间
2014-3-26
发表于 2014-3-26 16:28:54 | 显示全部楼层
谢谢分享
回复

使用道具 举报

0

主题

19

回帖

52

积分

用户组: 小·技术宅

UID
160
精华
0
威望
1 点
宅币
31 个
贡献
0 次
宅之契约
0 份
在线时间
0 小时
注册时间
2014-3-27
发表于 2014-3-27 20:22:05 | 显示全部楼层
顶一个。。。。。。。。。。。。。
回复

使用道具 举报

4

主题

41

回帖

160

积分

用户组: 小·技术宅

UID
208
精华
0
威望
1 点
宅币
113 个
贡献
0 次
宅之契约
0 份
在线时间
10 小时
注册时间
2014-4-16
发表于 2014-4-18 18:34:06 | 显示全部楼层
冒昧的问问,你们都是自学的吗?
看什么书籍呢?
回复 赞! 靠!

使用道具 举报

1109

主题

1649

回帖

7万

积分

用户组: 管理员

一只技术宅

UID
1
精华
244
威望
743 点
宅币
24180 个
贡献
46222 次
宅之契约
0 份
在线时间
2294 小时
注册时间
2014-1-26
发表于 2014-4-20 23:42:31 | 显示全部楼层
0x0208 发表于 2014-4-18 10:34
冒昧的问问,你们都是自学的吗?
看什么书籍呢?

那当然自学!没有哪个老师能教你!
回复 赞! 靠!

使用道具 举报

1

主题

4

回帖

33

积分

用户组: 初·技术宅

UID
234
精华
0
威望
2 点
宅币
24 个
贡献
0 次
宅之契约
0 份
在线时间
1 小时
注册时间
2014-4-28
发表于 2014-4-28 11:24:32 | 显示全部楼层
收下了,试试看
回复 赞! 靠!

使用道具 举报

2

主题

23

回帖

130

积分

用户组: 小·技术宅

UID
396
精华
0
威望
2 点
宅币
101 个
贡献
0 次
宅之契约
0 份
在线时间
14 小时
注册时间
2014-7-25
发表于 2014-8-7 09:54:16 | 显示全部楼层
厉害、、、
回复 赞! 靠!

使用道具 举报

2

主题

5

回帖

59

积分

用户组: 小·技术宅

UID
438
精华
0
威望
4 点
宅币
44 个
贡献
0 次
宅之契约
0 份
在线时间
3 小时
注册时间
2014-8-22
发表于 2014-8-25 19:35:00 | 显示全部楼层
支持一下,正好研究Winsock API
回复 赞! 靠!

使用道具 举报

2

主题

2

回帖

13

积分

用户组: 初·技术宅

UID
482
精华
0
威望
0 点
宅币
9 个
贡献
0 次
宅之契约
0 份
在线时间
1 小时
注册时间
2014-9-13
发表于 2014-9-13 03:23:37 | 显示全部楼层
虽然知道大概不知道细节 但感觉很牛逼的样子
回复 赞! 靠!

使用道具 举报

0

主题

7

回帖

62

积分

用户组: 小·技术宅

UID
394
精华
0
威望
1 点
宅币
53 个
贡献
0 次
宅之契约
0 份
在线时间
4 小时
注册时间
2014-7-25
发表于 2014-11-9 11:56:16 | 显示全部楼层
厉害啊,学习了
回复 赞! 靠!

使用道具 举报

1

主题

23

回帖

140

积分

用户组: 小·技术宅

UID
529
精华
0
威望
1 点
宅币
114 个
贡献
0 次
宅之契约
0 份
在线时间
10 小时
注册时间
2014-10-16
发表于 2015-5-12 12:45:35 | 显示全部楼层
自己也写了一个,就是局域网通信的时候总是有乱码,忠于可以有例子借鉴借鉴了{:soso_e100:}
回复 赞! 靠!

使用道具 举报

1

主题

157

回帖

603

积分

用户组: 大·技术宅

UID
7535
精华
0
威望
0 点
宅币
445 个
贡献
0 次
宅之契约
0 份
在线时间
67 小时
注册时间
2021-10-16
发表于 2022-5-13 16:46:58 | 显示全部楼层

如此好贴,必须支持~~~
回复 赞! 靠!

使用道具 举报

1

主题

157

回帖

603

积分

用户组: 大·技术宅

UID
7535
精华
0
威望
0 点
宅币
445 个
贡献
0 次
宅之契约
0 份
在线时间
67 小时
注册时间
2021-10-16
发表于 2022-5-13 16:48:19 | 显示全部楼层

如此好贴,必须支持~~~
回复 赞! 靠!

使用道具 举报

QQ|Archiver|小黑屋|技术宅的结界 ( 滇ICP备16008837号 )|网站地图

GMT+8, 2024-3-28 17:18 , Processed in 0.048425 second(s), 39 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表