欢迎来到天天文库
浏览记录
ID:39889844
大小:160.50 KB
页数:14页
时间:2019-07-14
《24点游戏注释版》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、//user类存用户信息usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Net;usingSystem.Net.Sockets;usingSystem.IO;namespaceServer1{classUser//用于保存与客户通信需要的信息{publicBinaryReaderbr{get;privateset;}//定义User类的属性:可以以二进制方式读写流publicBinaryWriterbw{get;privateset;}pu
2、blicTcpClientclient{get;privateset;}//为tcp网络服务提供客户端连接publicstringuserName{get;set;}//用户名publicUser(TcpClientclient)//带参数构造方法,初始化类的成员构造函数可理解为一种特殊的方法成员,它在每次创建对象时被自动调用,通常用于对象的初始化。{this.client=client;//client字段等于离它定义最近的clientthis.userName="";//userName等于空NetworkStreamnetworkStream=client.Get
3、Stream();//取得客户端发过来的网络流br=newBinaryReader(networkStream);//将网络流作为二进制读写对象bw=newBinaryWriter(networkStream);}}}//服务器usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.Net;usingSy
4、stem.Net.Sockets;usingSystem.Threading;namespaceServer1{publicpartialclassMainForm:Form//初始化变量,将类、结构或接口的定义拆分到多个文件中,一个类定义在不同的类文件里{privateListuserList=newList();//保存连接的所有用户IPAddresslocalAddress;//使用的本机IP地址privateconstintport=51000;//监听端口privateTcpListenermyListener;boolisNormal
5、Exit=false;//是否正常退出所有接收线程publicMainForm(){InitializeComponent();//InitializeComponent()初始化了添加到窗体上的所有控件,还初始化了窗体的属性listBoxStatus.HorizontalScrollbar=true;//显示水平卷轴IPAddress[]addrIP=Dns.GetHostAddresses(Dns.GetHostName());//获取本机iplocalAddress=addrIP[0];//获取本地ipbuttonStop.Enabled=false;//停止服务
6、不可以点}privatevoidbuttonStart_Click(objectsender,EventArgse)//【开始监听】按钮的Click事件{myListener=newTcpListener(localAddress,port);//创建对象myListener.Start();//开始运行listBoxStatus.Items.Add(string.Format("开始在{0}:{1}监听客户连接",localAddress,port));//listbox显示ThreadmyThread=newThread(ListenClientConnect);/
7、/创建一个线程监听客户端连接请求myThread.Start();buttonStart.Enabled=false;buttonStop.Enabled=true;}privatevoidListenClientConnect()//接收客户端连接{TcpClientnewClient=null;//tcpclient为tcp网络服务提供客户端链接while(true){try//这里有异常才会跳到catch执行//当单击“停止监听”或者退出此窗体时AcceptTcpClient()会产生异常{newClient=myListener.
此文档下载收益归作者所有