欢迎来到天天文库
浏览记录
ID:37910432
大小:178.50 KB
页数:10页
时间:2019-06-02
《C#_SOCKET通信》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、下面这个实例是一个完整的使用Socket实现的聊天(只限于局域网,如果能提供一个高权限的IP就可以实现类似QQ聊天),其中的原理是:首先开启服务端,打开侦听(任何端口为6600的IP),下面实现的代码:服务端+客户端【VS2005C#.NET2.0】【服务端】{三个窗体:About.cs,ServerMain.cs,Set.cs}:(ServerMain.cs窗体代码)usingSystem;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.N
2、et;usingSystem.Net.Sockets;usingSystem.Threading;usingSystem.Xml;namespaceServer{ publicpartialclassServerMain:Form { publicServerMain() { InitializeComponent(); } privatevoidServerMain_Load(objectsender,EventArgse)
3、 { this.CmdStar.Enabled=true; this.CmdStop.Enabled=false; } privatevoid配置参数ToolStripMenuItem_Click(objectsender,EventArgse) { SetTSet=newSet(); TSet.ShowDialog(); } privatevoid关于T
4、oolStripMenuItem_Click(objectsender,EventArgse) { AboutTAbout=newAbout(); TAbout.Show(); } /// ///获得XML文件中的端口号 /// /// privateintGetPort() {
5、 try { XmlDocumentTDoc=newXmlDocument(); TDoc.Load("Settings.xml"); stringTPort=TDoc.GetElementsByTagName("ServerPort")[0].InnerXml; returnConvert.ToInt32(TPort); } c
6、atch{return6600;}//默认是6600 } //声明将要用到的类 privateIPEndPointServerInfo;//存放服务器的IP和端口信息 privateSocketServerSocket;//服务端运行的SOCKET privateThreadServerThread;//服务端运行的线程 privateSocket[]ClientSocket;//为客户端建立的SOCKET连接 priv
7、ateintClientNumb;//存放客户端数量 privatebyte[]MsgBuffer;//存放消息数据 privatevoidCmdStar_Click(objectsender,EventArgse) { ServerSocket=newSocket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp); //提供一个IP地址,指示服务器应侦
8、听所有网络接口上的客户端活动 IPAddressip=IPAddress.Any; ServerInfo=newIPEndPoint(ip,this.GetPort()); ServerSocket.Bind(ServerInfo);//将SOCKET接口和IP端口绑定 ServerSocket.Listen(10);//开始监听,并且挂起数为10
此文档下载收益归作者所有