1、C#是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言。并定于在微软职业开发者论坛(PDC)上登台亮相。C#是微软公司研究员Anders Hejlsberg的最新成果。C#看起来与Java有着惊人的相似它包括了诸如单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司 .NET windows网络框架的主角。
2、C#是一种安全的、稳定的、简单的、优雅的,由C和C++衍生出来的面向对象的编程语言。它在继承C和C++强大功能的同时去掉了一些它们的复杂特性(例如没有宏以及不允许多重继承)。C#综合了VB简单的可视化操作和C++的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。
3、C#是面向对象的编程语言。它使得程序员可以快速地编写各种基于MICROSOFT .NET平台的应用程序,MICROSOFT .NET提供了一系列的工具和服务来最大程度地开发利用计算与通讯领域。
4、C#使得C++程序员可以高效的开发程序,且因可调用由 C/C++ 编写的本机原生函数,因此绝不损失C/C++原有的强大的功能。因为这种继承关系,C#与C/C++具有极大的相似性,熟悉类似语言的开发者可以很快的转向C#。
namespace SocketTest{ class Program{public static void SendMessage(){Socket socket = serverSocket.Accept() Console.WriteLine("Connected a client:{0}",socket.RemoteEndPoint) socket.Send(Encoding.ASCII.GetBytes("welcome to server")) //Thread thread = new Thread(ReceiveMessage) // thread.Start() }public static void ReceiveMessage(object obj){Socket socket = (Socket)obj byte[] data = new byte[1024] int len = socket.Receive(data) string dataString = Encoding.ASCII.GetString(data, 0, len) Console.WriteLine("Receive Data:{0} from {1}", dataString,socket.RemoteEndPoint) //Thread thread = new Thread(SendMessage) //thread.Start(socket) }static Socket serverSocket static void Main(string[] args){//定义接收数据长度变量int recv //定义接收数据的缓存byte[] data = new byte[1024] //定义侦听端口IPEndPoint ipEnd = new IPEndPoint(IPAddress.Any, 5566) //定义套接字类型serverSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp) //连接serverSocket.Bind(ipEnd) //开始侦听serverSocket.Listen(10) //控制台输出侦听状态Console.Write("Waiting for a client") //Socket client while (true){//一旦接受连接,创建一个客户端Socket client = serverSocket.Accept() //获取客户端的IP和端口IPEndPoint ipEndClient = (IPEndPoint)client.RemoteEndPoint //输出客户端的IP和端口Console.WriteLine("Connect with {0} at port {1}", ipEndClient.Address, ipEndClient.Port) //定义待发送字符string welcome = "Welcome to my server" //数据类型转换data = Encoding.ASCII.GetBytes(welcome) while (true){ try{//发送client.Send(data, data.Length, SocketFlags.None) //接收数据可以用线程也可以不用//ReceiveMessage(client) Thread thread = new Thread(ReceiveMessage) thread.Start(client) ////对data清零//data = new byte[1024] ////获取收到的数据的长度//recv = client.Receive(data) ////如果收到的数据长度为0,则退出//if (recv == 0)//break ////输出接收到的数据//Console.WriteLine(Encoding.ASCII.GetString(data, 0, recv)) //将接收到的数据再发送出去// client.Send(data, recv, SocketFlags.None) }catch (Exception){client.Close() serverSocket.Close() }}client.Close() }//Console.WriteLine("Disconnect form{0}", ipEndClient.Address) serverSocket.Close()}}}import java.net.*import java.io.*
public class Server {
private ServerSocket ss
private Socket socket
private BufferedReader in
private PrintWriter out
public Server() {
try {
ss = new ServerSocket(8888)
while (true) {
socket = ss.accept()
in = new BufferedReader(new InputStreamReader(socket
.getInputStream()))
out = new PrintWriter(socket.getOutputStream(), true)
String line = in.readLine()
if("hello".equals(line)){
out.println("hello")
out.close()
}
in.close()
socket.close()
}
ss.close()
} catch (IOException e) {
}
}
public static void main(String[] args) {
new Server()
}
}
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)