简单的TCP/UDP点对点聊天(可用于本机/局域网/公网)
某天心血来潮想学一下网络编程,于是某论坛坛主不惜逃课教我。。。最后折腾了两天,弄好了。共享下源代码。
这个程序可以发送文字消息和文件(发送文件的话,直接输入文件所在路径。如果检测到“消息”是一个存在的文件的话,就会把文件的内容发送)。
但是发送文件只在局域网实用,在公网的话,只能发送小于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程序,无任何特殊处理。
2014-03-21:
补充一个UDP版本的程序。
公网测试需要服务端有独立IP,并且有设置路由器端口转发的权限。
本机测试直接双击test.bat就可以,client发送的文字可以被server接收到。
使用方法:
udp_server 9000
udp_client x.x.x.x 9000 水晶不够用饿 呵呵
页:
[1]