- 浏览: 11490 次
最新评论
一个C#Socket通信小例子
2010年11月05日
//服务端
using System;
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.Threading;
using System.Windows.Forms;
namespace Service
{
public partial class Service : Form
{
public Service()
{
InitializeComponent();
}
Socket handler;
private void Service_Load(object sender, EventArgs e)
{
Thread thread = new Thread(new ThreadStart(Listen));
thread.Start();
}
private void Listen()
{
IPHostEntry ipHostInfo = Dns.GetHostEntry(Dns.GetHostName());
IPAddress ipAddress = ipHostInfo.AddressList[0];
IPEndPoint localEndPoint = new IPEndPoint(ipAddress, 11000);
Socket listener = new Socket(
AddressFamily.InterNetworkV6,
SocketType.Stream,
ProtocolType.Tcp);
listener.Bind(localEndPoint);
listener.Listen(10);
while (true)
{
byte[] bytes = new byte[1024];
SetTextDelegate("Waiting for a connection...");
handler = listener.Accept();
int bytesRec = handler.Receive(bytes);
string data = Encoding.ASCII.GetString(bytes, 0, bytesRec);
SetTextDelegate("receive time:" + DateTime.Now.ToString("HH:mm:ss") + data);
byte[] msg = Encoding.ASCII.GetBytes(data);
//handler.Send(msg);
}
}
void SetText(string str)
{
textBox1.Text += (Environment.NewLine + str);
}
void SetTextDelegate(string str)
{
BeginInvoke(new SetTextHandler(SetText), str);
}
private void Service_FormClosed(object sender, FormClosedEventArgs e)
{
handler.Shutdown(SocketShutdown.Both);
handler.Close();
Environment.Exit(0);
}
}
public delegate void SetTextHandler(string str);
}
//客户端
using System;
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.Windows.Forms;
namespace SocketApp
{
public partial class Client : Form
{
public Client()
{
InitializeComponent();
}
public void StartClient()
{
byte[] bytes = new byte[1024];
IPHostEntry ipHostInfo = Dns.GetHostEntry(Dns.GetHostName());
IPAddress ipAddress = ipHostInfo.AddressList[0];
IPEndPoint remoteEP = new IPEndPoint(ipAddress, 11000);
Socket sender = new Socket(
AddressFamily.InterNetworkV6,
SocketType.Stream,
ProtocolType.Tcp);
sender.Connect(remoteEP);
byte[] msg = Encoding.ASCII.GetBytes("send time:" + DateTime.Now.ToString("HH:mm:ss") + " MessageContent:" + textBox1.Text.Trim());
int bytesSend = sender.Send(msg);
//int bytesRec = sender.Receive(bytes);
//textBox1.Text +=
// ("/r Echoed test = " + Encoding.ASCII.GetString(bytes, 0, bytesRec));
sender.Shutdown(SocketShutdown.Both);
sender.Close();
textBox1.Text = string.Empty;
}
private void button1_Click(object sender, EventArgs e)
{
StartClient();
}
}
}
//参考 http://www.cnblogs.com/zhangpengshou/archive/2008/09/16/1292085.html
发表评论
-
评论 (
2012-01-20 11:54 329评论 ( 2011年10月04日 ... -
2010年普通高等学校招生全国统一考试(重庆卷)
2012-01-20 11:54 5372010年普通高等学校招生全国统一考试(重庆卷) 2012年 ... -
20111105晚7点40分至8点20分之间经历死亡飞车
2012-01-20 11:54 66520111105晚7点40分至8点20分之间经历死亡飞车 2 ... -
全国2011年1月自学考试综合英语(一)试题及答案 - 自考试题及答案 - 锐智博客
2012-01-20 11:54 528全国2011年1月自学考试综合英语(一)试题及答案 - 自考试 ... -
学习英语的方法
2012-01-19 16:43 602学习英语的方法 2011年02月16日 ... -
学英语
2012-01-19 16:43 387学英语 2011年09月07日 学英语有诀窍,一是方法, ... -
从母语学习规律中推断出英语学习的规律
2012-01-19 16:43 840从母语学习规律中推断出英语学习的规律 2011年08月17日 ... -
Java中使用Socket和C#通讯的解决
2012-01-17 06:28 1167Java中使用Socket和C#通讯的解决 2011年05月 ... -
[C#通信二]C#.net同步异步SOCKET通讯和多线程总结1(转)
2012-01-17 06:27 949[C#通信二]C#.net同步异步SOCKET通讯和多线程总结 ... -
TCP Socket编程 C/C++实现 (Windows Platform SDK)
2012-01-17 06:27 783TCP Socket编程 C/C++实现 (Windows P ... -
C++网络编程之SOCKET应用篇
2012-01-17 06:27 1350C++网络编程之SOCKET应用篇 2010年06月22日 ... -
如果你的书柜内没有《朗读手册》,那么你就到这里来读吧!(一)
2012-01-16 05:08 612如果你的书柜内没有《 ... -
二读《朗读手册》
2012-01-16 05:08 536二读《朗读手册》 2009 ... -
朗读的记忆
2012-01-16 05:08 605朗读的记忆 2010年11月03日 今天在豆瓣上,新加入 ... -
在线听著名英文原版小说(朗读版超赞)
2012-01-16 05:08 797在线听著名英文原版小说(朗读版超赞) 2011年04月19日 ...
相关推荐
一款C#开发的稳定完整版的Socket通信应用实例
C#Socket通信实例,Modbus协议。 我使用此实例代码,通过Socket的方式,实现了一个与称重设备通信的功能。 支持一切Modbus协议的通信,在此基础上进和业务封装,实现程序功能。
c#socket通信udp使用,相当于通信转发,熟悉socket
想要了解C#中socket的可以看看这个,希望能对你有帮助
C#+Socket异步传输实例代码,socket编程入门学习
基于C# 的Socket 同步 通信的小例子。
自作一个以vc为服务器,C#为客户端的socket通信,VC用的是VC++6.0,C#用的是VS2010,已经调试和测试成功,没有任何问题,改程序可以在不同的机器上进行通信,IP和端口号在程序中写死,如果需要,可以自行改动。
三个实用的socket通信实例
此资源是一款WinFrom程序,客户端与服务器端互发数据
C# Socket简单例子(服务器与客户端通信)
socket通信实例,根据网络资源,自己编写的socket通信实例,供大家学习,参考!
C#Socket同步,异步编程实例
C# socket多客户端监听, 功能:监听客户端访问服务器的端口
基于C#开放式TCP通信建立与西门子PLC的socket通信示例
socket服务端采用SuperSocket搭建,客户端与服务端进行连接及向服务端发送消息,服务端使用业务向客户端发送消息进行通信
C# Socket异步通信实例,可以通过网络调试助手对通信中的客户端和服务器进行单独测试,通信部分的程序和界面处理部分程序分离,有助于深入了解异步通信的客户端和服务器。
C# Socket通信两个最简单的实例 使用说明:先启动服务器端,然后再打开客户端进行连接 适合初学者
可是,做了一个测试小例子,结果从客户端传过来的都是乱码。于是上网查,希望可以找到解决方法,可是,网上有好多的答案,经过了很多的实验,都不能很好的解决。没办法只能靠自己一点一点的排查了。 经过一番...
自己写的一个socket通信实例,点对点,每个点同时是 SERVER和CLIENT,易步处理接收数据.
c#通讯实例,socket的select模型,多通道及文件生成