C# : Socket 接收中文显示乱码的解决办法
2015-10-01 21:02
477 查看
由 Programming C# 3.0 示例改编
AsyncNetClient.cs
编译 csc.exe AsyncNetClient.cs
运行 AsyncNetClient.exe
AsyncNetClient.cs
using System; using System.Collections.Generic; using System.IO; using System.Net.Sockets; using System.Text; namespace AsyncNetClient { public class AsynchNetworkClient { private NetworkStream streamToServer; static public int Main() { string str; Console.Write("input:"); str = Console.ReadLine(); if (str.Length > 20) { Console.WriteLine("提示: 输入字符串长度 <= 20"); return 4; } AsynchNetworkClient client = new AsynchNetworkClient("localhost",65000); if( client != null && str!=null) return client.Run(str); else return 4; } public AsynchNetworkClient(string ip, int port) { string serverName = ip; try { Console.WriteLine("Connecting to {0}", serverName); TcpClient tcpSocket = new TcpClient(serverName, port); streamToServer = tcpSocket.GetStream(); } catch (Exception e){ Console.WriteLine(e.ToString()); } } public int Run(string str) { if (streamToServer == null) { Console.WriteLine("connect to Server failed !"); return -1; } string message; if( str != "") message= str; else return -1; Console.WriteLine("Send to server: {0}", message); // create a streamWriter and use it to // write a string to the server StreamWriter writer = new StreamWriter(streamToServer); writer.WriteLine(message); writer.Flush(); // 使用System.Text.Encoding.Default 告诉 StreamReader采用目前操作系统的编码即可 StreamReader reader = new StreamReader(streamToServer,Encoding.Default); string strResponse = reader.ReadLine(); streamToServer.Close(); Console.WriteLine("Received: {0}", strResponse); return 0; } } }
编译 csc.exe AsyncNetClient.cs
运行 AsyncNetClient.exe
相关文章推荐
- C# Task类 笔记
- C#学习日记02--输入与输出
- C#泛型特性总结
- C#初级篇---类型转换、枚举、结构体、数组、函数、
- C#中实现多继承的方法
- C#中实现多继承的方法
- C#windfrom控件之datagridview(一)
- c#导出(一) 到txt
- C#操作XML学习之创建XML文件的同时新建根节点和子节点(多级子节点)
- C#学习之路,学习笔记 1.1 C#简介
- C#yield return和yield break函数执行逻辑理解
- c#学习日记01--新手上路
- C#预定义类型
- C#委托及各种写法
- c# Nested transactions are not supported
- c# panel里面嵌入窗体
- C#学习之路,学习笔记 2.2 字符、字符串、数字的初始化与读取
- C#集合类便捷使用和初始化方法
- C#学习之路,学习笔记 2.1 整形、浮点型和decimal型变量
- C#设置textBox字体属性