提示
总体功能图:
必须先启动server窗口,再启动client窗口,否则报错。
整体框架参考了:https://blog.csdn.net/johnWcheung/article/details/70148959
后续修改了bug、增加了多人聊天、发送图片等功能,美化了界面。
完整代码在链接内。
服务端
界面设计:
功能:
- IP为本机IP(通过命令行自行查看)
- 端口号自定
- 启动服务后,会显示当前在线用户、在线用户数量、用户交流消息
- 在最右边的框内会显示发送的图片
- 断开服务后用户不可再进行任何操作
完整代码:
https://github.com/Susie2000/C/blob/master/IntgerOperats
public partial class FrmServer : Form
{
internal static Hashtable clients = new Hashtable();//clients数组保存当前在线用户的Client对象
private TcpListener listener;//该服务器默认的监听端口号
static int MaxNum = 100;//服务器可以支持的客户端最大连接数
internal static bool ServiceFlag = false;//开始服务的标志
public FrmServer()
{
InitializeComponent();
CheckForIllegalCrossThreadCalls = false;
}
//服务器监听的端口号通过getValidPort()函数获得
private int getValidPort(string port)
{
int lport;
//测试端口号是否有效
try