程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> Socket編程三

Socket編程三

編輯:關於.NET

客戶端

using System.Windows.Forms;
using System.Net;
using System.Threading;
using System.Net.Sockets;
namespace QQ
{
public partial class Socketclient : Form
{
public Socketclient()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
string str = this.textBox1.Text.ToString();
BeginSend(str);
}
private void BeginSend(string str)
{
IPAddress serverIp = IPAddress.Parse("127.0.0.1");
IPEndPoint iep = new IPEndPoint(serverIp,8000);
byte[] byteMessage;
Socket socket = new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);
socket.Connect(iep);
byteMessage = Encoding.ASCII.GetBytes(str);
socket.Send(byteMessage);
socket.Shutdown(SocketShutdown.Both);
socket.Close();
}
}
}

服務器端

using System.Net;
using System.Net.Sockets;
using System.Threading;
using System.Net.Mime;
namespace QQ
{
public partial class SocketServer : Form
{
Thread myThread;
Socket socket;
private delegate void listbox_show(string str);
listbox_show listboxshow;
public SocketServer()
{
InitializeComponent();
listboxshow = new listbox_show(show);
}
private IPAddress GetServerIp()
{
IPHostEntry ieh = Dns.GetHostByName(Dns.GetHostName());
return ieh.AddressList[0];
}
private void BeginListen()
{
IPAddress ip1 = GetServerIp();
IPEndPoint iep = new IPEndPoint(ip1, 8000);
socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
socket.Bind(iep);
byte[] byteMessage=new byte[1000];
while (true)
{
try
{
socket.Listen(5);
Socket clientSocket = socket.Accept();
clientSocket.Receive(byteMessage);
string sTime = DateTime.Now.ToShortDateString();
string msg = sTime + ":" + "Message from:";
msg += clientSocket.RemoteEndPoint.ToString() + Encoding.Default.GetString(byteMessage);
this.listBox1.Invoke(listboxshow,msg);
}
catch (System.Exception ex)
{
MessageBox.Show(ex.Message.ToString());
}
}
}
private void show(string str)
{
this.listBox1.Items.Add(str);
}
private void button1_Click(object sender, EventArgs e)
{
try
{
myThread = new Thread(new ThreadStart(BeginListen));
myThread.Start();
this.button1.Enabled = false;
}
catch (System.Exception er)
{
MessageBox.Show(er.Message,"完成",MessageBoxButtons.OK,MessageBoxIcon.Stop);
}
}
}
}
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved