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

QQ登录

只需一步,快速开始

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

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

[复制链接]
发表于 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

回复

使用道具 举报

发表于 2014-3-23 04:15:20 | 显示全部楼层
这个真心不错,它还让我发现了UDP的一个特性:你用sendto发送一个0字节数据包,recvfrom也能收到它。
这个细节我是看了你的实例才发现的
回复 赞! 靠!

使用道具 举报

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

使用道具 举报

发表于 2014-3-24 00:33:13 | 显示全部楼层
嘿嘿~网络初学者收下了~
回复 赞! 靠!

使用道具 举报

发表于 2014-3-26 16:28:54 | 显示全部楼层
谢谢分享
回复

使用道具 举报

发表于 2014-3-27 20:22:05 | 显示全部楼层
顶一个。。。。。。。。。。。。。
回复

使用道具 举报

发表于 2014-4-18 18:34:06 | 显示全部楼层
冒昧的问问,你们都是自学的吗?
看什么书籍呢?
回复 赞! 靠!

使用道具 举报

发表于 2014-4-20 23:42:31 | 显示全部楼层
0x0208 发表于 2014-4-18 10:34
冒昧的问问,你们都是自学的吗?
看什么书籍呢?

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

使用道具 举报

发表于 2014-4-28 11:24:32 | 显示全部楼层
收下了,试试看
回复 赞! 靠!

使用道具 举报

发表于 2014-8-7 09:54:16 | 显示全部楼层
厉害、、、
回复 赞! 靠!

使用道具 举报

发表于 2014-8-25 19:35:00 | 显示全部楼层
支持一下,正好研究Winsock API
回复 赞! 靠!

使用道具 举报

发表于 2014-9-13 03:23:37 | 显示全部楼层
虽然知道大概不知道细节 但感觉很牛逼的样子
回复 赞! 靠!

使用道具 举报

发表于 2014-11-9 11:56:16 | 显示全部楼层
厉害啊,学习了
回复 赞! 靠!

使用道具 举报

发表于 2015-5-12 12:45:35 | 显示全部楼层
自己也写了一个,就是局域网通信的时候总是有乱码,忠于可以有例子借鉴借鉴了{:soso_e100:}
回复 赞! 靠!

使用道具 举报

发表于 2022-5-13 16:46:58 | 显示全部楼层

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

使用道具 举报

发表于 2022-5-13 16:48:19 | 显示全部楼层

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

使用道具 举报

本版积分规则

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

GMT+8, 2024-11-21 20:56 , Processed in 0.041675 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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