www.pudn.com > tcp-socket.rar > ooServer.cs
using System;
//using System.Collections.Generic;
using System.IO;
using System.Net.Sockets;
namespace SocketDemo
{
class OOServer
{
public String []StrName = {"A","BB","CCC"};
public int []StrCode = {100,90,70};
static void Main(string[] args)
{
OOServer ooServer = new OOServer();
Console.WriteLine("init server");
System.Net.Sockets.TcpListener tcpListener;
try
{
//设定监听的端口号
tcpListener = new System.Net.Sockets.TcpListener(8844);
}
catch
{
Console.WriteLine("create TcpListener 8844 is wrong!");
return;
}
//开始监听
tcpListener.Start();
Console.WriteLine("server initialized ");
bool loop = true;
while (loop)
{
//监听客户端的连
Socket socket = tcpListener.AcceptSocket();
//创建一个新的网络流对象用于处理客户端的连接
NetworkStream networkStream = new NetworkStream(socket);
//为了处理方便,创立一个网络流对象,用它可以一次读入一行
StreamReader streamReader = new StreamReader(networkStream);
string commandLine = streamReader.ReadLine();
//开始处理具体
char split= '#';
String [] strRec;
strRec = commandLine.Split(split);
int parameternum = strRec.GetLength(0);
strRec[0] = strRec[0].ToUpper();
Console.WriteLine(strRec[0]);
Console.WriteLine(strRec[1]);
if (strRec[0].Equals("GET"))
{
if (strRec[1].Equals("0"))
{
for (int i =0; i< ooServer.StrName.Length; i++)
{
String str = ooServer.StrName[i]+ "====="+ ooServer.StrCode;
byte[] res = System.Text.Encoding.ASCII.GetBytes(str);
socket.Send(res);
}
}
}
else
{
Console.WriteLine("error command!!");
}
//最后处理完成发一个 空格 表示符,客户端依据此标识来确定是否数据接受完成 。如果没有此表示客户端程序不会退出
String str_end = "\r\n";
byte[] res_end = System.Text.Encoding.ASCII.GetBytes(str_end.ToCharArray());
socket.Send(res_end);
}
}
}
}