以前没做过Socket,一个简单的问题,帮忙实现下:
1.已经有服务端IP和端口
2.有一个待发送的字符串strData
问题:怎样向服务端发送strData,并获得返回值?
谢谢
1.已经有服务端IP和端口
2.有一个待发送的字符串strData
问题:怎样向服务端发送strData,并获得返回值?
谢谢
解决方案 »
- C#2010 的第三方皮肤控件怎么不好找呢。
- 急啊!帮帮忙。新手学习,在vs2005中怎么单独编译调试一个.cs文件啊,在命令窗口输入命令总是无效。
- 新手问个问题 C#如何实现在Dategridview中显示不规则的EXCEL表
- 求助:怎么样在一个窗体中控制另一个窗体的控件????? 比如 菜单
- C#winform实现listBox显示数据库中某一列字段的所有信息,在线,
- 到底市场上,哪种语言是使用最广泛的????
- 如何取得一颗树所有节点的值
- list 列表框的问题
- winform程序执行时的界面问题
- webservice调用com出现的权限问题
- DataSet ds = new DataSet()与DataSet ds =Null有什么区别?
- 判断文本和XML文档是否打开,急~高手快来。
tcpClient.Connect (IPAddress.Parse("192.168.0.1"), 11003);NetworkStream netStream = tcpClient.GetStream ();
Byte[] sendBytes = Encoding.UTF8.GetBytes ("test");
netStream.Write (sendBytes, 0, sendBytes.Length);
byte[] bytes = new byte[tcpClient.ReceiveBufferSize];netStream.Read (bytes, 0, (int)tcpClient.ReceiveBufferSize);string returndata = Encoding.UTF8.GetString (bytes);Console.WriteLine ("服务器返回: " + returndata);netStream.Close();
Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
IPEndPoint serverPoint = new IPEndPoint(IPAddress.Parse("192.168.2.222"), 8090);
s.Connect(serverPoint);
string input;
while ((input = Console.ReadLine()).Length> 0)
{
byte[] data = Encoding.Default.GetBytes(input);
s.Send(data);
}
tcpClient不需要close吗,除netStream之外还有什么要close的?
jf_socket.PRForm = this;
t_linsten.Start(); //开始监听
public void BeginListen()
{
IPAddress ServerIp = Dns.GetHostEntry(Dns.GetHostName()).AddressList[0];
IPEndPoint iep = new IPEndPoint(ServerIp, 8000);
Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
byte[] byteMessage = new byte[100];
socket.Bind(iep);
while (true)
{
try
{
socket.Listen(10);
Socket newSocket = socket.Accept();
newSocket.Receive(byteMessage);
Jf_Opereration oper = new Jf_Opereration();
oper.Tr_Serverinfo(Encoding.Default.GetString(byteMessage),out re_message,out re_manageinfo);
//跨线程消息处理
MethodInvoker mi = new MethodInvoker(FormShow);
prform.BeginInvoke(mi);
}
catch (SocketException ex)
{
File.AppendAllText(@"log.txt",DateTime.Now.ToString() + ": " + ex.ToString() + " \n");
socket.Close();
}
}
}
public String Re_Message
{
get { return re_message; }
} //主窗体
public Form PRForm
{
get {
return prform;
}
set {
prform = value;
}
}
//发送消息
public bool BeginSend(IPAddress serverIp, Int32 port, string msg,out string out_err)
{
IPEndPoint iep = new IPEndPoint(serverIp, 8000);
byte[] byteMessage = Encoding.Default.GetBytes(msg);
Socket send_socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
out_err = null;
try
{
send_socket.Connect(iep);
send_socket.Send(byteMessage);
return true;
}
catch (SocketException ex)
{
out_err = ex.ToString();
return false;
}
finally
{
send_socket.Close();
}
}
Form prform;//主窗体 public bool Tr_Serverinfo(string message,out string re_msg,out string re_manageinfo)
{
}