SOCKET测试,
来源:互联网 发布:windows gcc 64 编辑:程序博客网 时间:2024/05/22 11:48
附件地址:http://download.csdn.net/detail/lyh1112/5692845
Server端:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading;
using System.Threading.Tasks;
namespace SocketServer
{
class Program
{
static Socket socketserver;
static Socket socketclient;
static Thread thread;
static void Main(string[] args)
{
SetSocket(IPAddress.Any, 3334);
}
private static void SetSocket(IPAddress address, int point)
{
//将网络端点表示为IP地址和端口 用于socket侦听时绑定
IPEndPoint ipe = new IPEndPoint(IPAddress.Any, 3334);
//使用指定的地址族、套接字类型和协议初始化 Socket 类的新实例。
socketserver = new Socket(ipe.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
//将所创建的Socket与IPEndPoint绑定
socketserver.Bind(ipe);
//设置套接字为收听模式 定队列中最多可容纳的等待接受的传入连接数为10
socketserver.Listen(10);
//在Socket上接收接入的连接
while (true)
{
socketclient = socketserver.Accept();
thread = new Thread(new ThreadStart(Program.doWork));
thread.Start();
}
}
private static void doWork()
{
Socket client = socketclient;
//客户端信息
IPEndPoint ipEndPoint = (IPEndPoint)client.RemoteEndPoint;
string address = ipEndPoint.Address.ToString();
string port = ipEndPoint.Port.ToString();
Console.WriteLine(address + ":" + port + " 已经连接.");
while (true)
{
Byte[] inBuffer = new Byte[(client.ReceiveBufferSize)];
string inbufstr = string.Empty;
string outbufstr = string.Empty;
try
{
client.Receive(inBuffer, client.ReceiveBufferSize, SocketFlags.None);//如果接收的消息为空 阻塞 当前循环
}
catch
{
client.Close();
Console.WriteLine(address + ":" + port + " 的连接已关闭.");
return;
}
inbufstr = Encoding.Default.GetString(inBuffer);
inbufstr = inbufstr.TrimEnd('\0');
Console.WriteLine(address + ":" + port + " 说:");
Console.WriteLine(inbufstr);
outbufstr = "服务器收到消息:" + inbufstr;
Byte[] outBuffer = Encoding.Default.GetBytes(outbufstr);
client.Send(outBuffer, outBuffer.Length, SocketFlags.None);
}
}
}
}
client端:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.Threading.Tasks;
namespace SocketClient
{
class Program
{
public static Socket socketclient;
static void Main(string[] args)
{
SetClientSocket(IPAddress.Parse("127.0.0.1"), 3334);
}
private static void SetClientSocket(IPAddress targetIP,int port)
{
try
{
//将网络端点表示为IP地址和端口 用于socket侦听时绑定
IPEndPoint ipe = new IPEndPoint(targetIP, port);
socketclient = new Socket(ipe.AddressFamily,SocketType.Stream, ProtocolType.Tcp);
socketclient.Connect(ipe);
string outbufstr = string.Empty;
Byte[] inbuffer = new Byte[1024];
Byte[] outbuffer = new Byte[1024];
while (true)
{
outbufstr = Console.ReadLine();
outbuffer = Encoding.Default.GetBytes(outbufstr);
socketclient.Send(outbuffer, outbuffer.Length, SocketFlags.None);
Console.WriteLine("服务器响应:");
socketclient.Receive(inbuffer, 1024, SocketFlags.None);
string inbufstr = Encoding.Default.GetString(inbuffer);
Console.WriteLine(inbufstr.TrimEnd('\0').TrimEnd());
}
}
catch (SocketException ex)
{
Console.WriteLine(ex.Message);
socketclient.Close();
}
}
}
}
- SOCKET测试,
- socket测试
- log4j socket 测试
- socket 请求测试
- wxwidgets socket 测试
- Hadoop socket测试
- loadrunner socket 测试
- Linux socket 测试
- linux网络设备测试-----socket
- Web Socket测试
- [socket]socketpair测试程序
- 测试socket接口
- Socket编程 简易测试socket TCP程序
- Socket编程 简易测试socket UDP
- jmeter2.5.1建立socket测试
- Socket应用协议测试自动化
- c++实现socket通信测试
- c++实现socket通信测试
- FastVP 和 FastChche技术
- Android 4.2 Wifi Display 之 Settings 源码分析(一)
- 如何和国外的同行接轨?
- mysql table is marked as crashed and last (automatic?) repair failed
- 【让安卓手机快速接通笔记本WIFI的小技巧】
- SOCKET测试,
- 主线程自动退出问题
- plsql乱码如何解决
- Android APK反编译详解(附图)
- Tcl 快速入门
- linux 文件属性
- Android: On EditText Changed Listener
- 浅谈在线考试系统的监考设计问题
- excel导入csv格式 身份证号就变成科学计数法了