socket客户端的问题。

liugangsys 2009-07-09 09:40:44
我想写一个socket的客户端。
连接已经写好,可是不知道怎么收、发数据。
代码如下,请哪位高手指点一下。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Net;
using System.Net.Sockets;
using System.Threading;

namespace testclient
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

Socket client;
Thread th1;
private void Form1_Load(object sender, EventArgs e)
{
string pcname = Dns.GetHostName();
IPAddress[] ip = Dns.GetHostAddresses(pcname);
textBox5.Text = Convert.ToString(ip[0]);
textBox1.Text = "192.168.0.99";
textBox2.Text = "81";
button2.Enabled = false;
}

private void button1_Click(object sender, EventArgs e)
{
client = new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);
th1 = new Thread(new ThreadStart(start));
th1.IsBackground = true;
th1.Start();
button1.Enabled = false;
button2.Enabled = true;
}
private void start()
{
try
{
IPAddress ip = IPAddress.Parse(this.textBox1.Text);
int port = Convert.ToInt32(this.textBox2.Text);
IPEndPoint IEp = new IPEndPoint(ip, port);

try
{
client.Connect(IEp);
}
catch
{
MessageBox.Show("服务器端未开启连接,请联系系统管理员");
}
}
catch
{
MessageBox.Show("您输入的IP无效请重新输入");
}


if (client.Connected)
{
MessageBox.Show("连接成功可以开始通讯!");
}
}

private void button2_Click(object sender, EventArgs e)
{
try
{
string str = textBox3.Text;
ASCIIEncoding ascii = new ASCIIEncoding();
byte[] msg = ascii.GetBytes(str);
client.Send(msg);
}
catch
{
MessageBox.Show("没有连接或命令输入错误!");
}

}

private void Form1_FormClosed(object sender, FormClosedEventArgs e)
{
th1.Abort();
}
}
}
...全文
47 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
chengwen2402163 2009-07-09
  • 打赏
  • 举报
回复
while(true)循环侦听,
happyboyxq1985 2009-07-09
  • 打赏
  • 举报
回复
在线程中应该有一个while循环,不然你线程跑一次就停了,客户端无法接收数据,而且这个线程写的基本没什么用吧???网上有很多参考。
lihuinihao6315 2009-07-09
  • 打赏
  • 举报
回复
顶,用不着 5楼的 ROMETING吧?
hecker728 2009-07-09
  • 打赏
  • 举报
回复
看了下你的代码,问题很多。建议看看下面的。。

http://topic.csdn.net/u/20080623/08/4bbd2475-45f1-42e3-a613-16b094759ade.html

diffmaker 2009-07-09
  • 打赏
  • 举报
回复
这里有简单的示例,楼主不仿研究一下吧
http://www.java2s.com/Code/CSharp/Network/CatalogNetwork.htm

你的问题比较泛泛,别人无从回复吧
liugangsys 2009-07-09
  • 打赏
  • 举报
回复
没有回复,自己顶一下。
liugangsys 2009-07-09
  • 打赏
  • 举报
回复
自己再顶一下。

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧