C#关于socket同步编程
来源:互联网 发布:java迷宫小游戏代码 编辑:程序博客网 时间:2024/05/16 17:05
服务器端:
using System;
using System.Collections.Generic;
using System.Text;
using System.Net;
using System.Net.Sockets;
namespace testSocket2
{
class Program
{
public static string data = null;
public static void StartListening() {
byte[] bytes = new Byte[1024];
IPHostEntry ipHostInfo = Dns.Resolve(Dns.GetHostName());
IPAddress ipAddress = ipHostInfo.AddressList[0];
IPEndPoint localEndPoint = new IPEndPoint(ipAddress,11000);
Socket listener = new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);
try
{
listener.Bind(localEndPoint);
listener.Listen(10);
while (true) {
Console.WriteLine("Waiting for a connection...");
Socket handler = listener.Accept();
data = null;
while(true){
bytes=new byte[1024];
int bytesRec = handler.Receive(bytes);
data += Encoding.ASCII.GetString(bytes,0,bytesRec);
if(data.IndexOf("<EOF>")>-1){
break;
}
}
Console.WriteLine("Text recieved:{0}",data);
byte[] msg = Encoding.ASCII.GetBytes(data);
handler.Send(msg);
handler.Shutdown(SocketShutdown.Both);
handler.Close();
}
}
catch (Exception e) {
Console.WriteLine(e.ToString());
}
Console.WriteLine("/nHit enter to continue...");
Console.Read();
}
public static int Main(string[] args)
{
StartListening();
return 0;
}
}
}
客户端:
using System;
using System.Collections.Generic;
using System.Text;
using System.Net;
using System.Net.Sockets;
namespace testSocket3
{
class Program
{
public static void StartClient() {
byte[] bytes = new byte[1024];
try
{
IPHostEntry ipHostInfo = Dns.Resolve("sict64");
IPAddress ipAddress = ipHostInfo.AddressList[0];
IPEndPoint remoteEP = new IPEndPoint(ipAddress, 11000);
Socket sender = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
try
{
sender.Connect(remoteEP);
Console.WriteLine("Socket connected to {0}", sender.RemoteEndPoint.ToString());
byte[] msg = Encoding.ASCII.GetBytes("This is a test<EOF>");
int bytesSent = sender.Send(msg);
int bytesRec = sender.Receive(bytes);
Console.WriteLine("Echoed test={0}", Encoding.ASCII.GetString(bytes, 0, bytesRec));
sender.Shutdown(SocketShutdown.Both);
sender.Close();
}
catch (Exception e)
{
Console.WriteLine(e.ToString());
}
}
catch (ArgumentNullException e)
{
Console.WriteLine(e.ToString());
}
catch (SocketException el)
{
Console.WriteLine(el.ToString());
}
catch (Exception ele) {
Console.WriteLine(ele.ToString());
}
}
public static int Main(string[] args)
{
StartClient();
return 0;
}
}
}
- C#关于socket同步编程
- c# 简单同步Socket编程
- C# socket编程 异步服务端 同步客户端
- C# Socket编程 同步以及异步通信
- C# Socket编程 同步以及异步通信
- C# Socket编程 同步以及异步通信
- C# Socket编程 同步以及异步通信
- C# Socket编程 同步以及异步通信
- C# Socket编程 同步以及异步通信
- C# Socket编程 同步以及异步通信
- C# Socket编程 同步以及异步通信
- C# Socket编程 同步以及异步通信
- C# Socket编程 同步以及异步通信
- C# Socket编程 同步以及异步通信
- C# Socket编程 同步以及异步通信
- C# Socket编程 同步以及异步通信
- C# Socket编程 同步以及异步通信
- C# Socket编程 同步以及异步通信
- 用c#创建支持多语言的应用程序
- C语言可变参数及stdarg.h中的三个宏定义
- Fedora 7上安装VMware Tools
- 开关电源和线性电源的区别
- (轉)如何将图片变成零字节
- C#关于socket同步编程
- 3D表面纹理合成技术
- 分析源代码126邮箱菜单效果学习javascript
- SQL Server 2000 Service Pack 4文档
- 联想全球实行两大品牌战略:"Think和Idea"
- 彩色素描生成器
- 使用 XQuery 聚合 RSS 和 Atom 信息
- 微软人工交互检测(HIP)技术
- 《史前一万年》称霸北美周末票房21日内地公映