基本信息
源码名称:socket实现多客户端与服务器连接通信
源码大小:0.16M
文件格式:.rar
开发语言:C#
更新时间:2015-12-22
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 2 元×
微信扫码支付:2 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
一个服务器,多客户端,客户端可以向服务器发送信息,服务器可以同时向多个客户端发送信息
一个服务器,多客户端,客户端可以向服务器发送信息,服务器可以同时向多个客户端发送信息
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Net; using System.Net.Sockets; using System.Threading; namespace TCPClient { public partial class Form1 : Form { public Socket newclient; public bool Connected; public Thread myThread; public delegate void MyInvoke(string str); public Form1() { InitializeComponent(); } public void Connect() { byte[] data = new byte[1024]; newclient = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); string ipadd = serverIP.Text.Trim(); int port = Convert.ToInt32(serverPort.Text.Trim()); IPEndPoint ie = new IPEndPoint(IPAddress.Parse(ipadd), port); try { newclient.Connect(ie); connect.Enabled = false; Connected = true; } catch(SocketException e) { MessageBox.Show("连接服务器失败 " e.Message); return; } ThreadStart myThreaddelegate = new ThreadStart(ReceiveMsg); myThread = new Thread(myThreaddelegate); myThread.Start(); } public void ReceiveMsg() { while (true) { byte[] data = new byte[1024]; int recv = newclient.Receive(data); string stringdata = Encoding.UTF8.GetString(data, 0, recv); showMsg(stringdata "\r\n"); //receiveMsg.AppendText(stringdata "\r\n"); } } public void showMsg(string msg) { { //在线程里以安全方式调用控件 if (receiveMsg.InvokeRequired) { MyInvoke _myinvoke = new MyInvoke(showMsg); receiveMsg.Invoke(_myinvoke, new object[] { msg }); } else { receiveMsg.AppendText(msg); } } } private void SendMsg_Click(object sender, EventArgs e) { int m_length = mymessage.Text.Length; byte[] data=new byte[m_length]; data = Encoding.UTF8.GetBytes(mymessage.Text); int i = newclient.Send(data); showMsg("我说:" mymessage.Text "\r\n"); //receiveMsg.AppendText("我说:" mymessage.Text "\r\n"); mymessage.Text = ""; //newclient.Shutdown(SocketShutdown.Both); } private void connect_Click(object sender, EventArgs e) { Connect(); } } }