SOCKET的问题

yinhunfeixue 2008-10-28 02:38:20
下面是一个创建SOCKET监听的类
用此类创建监听,第一次连接可以成功。但是第二次就失败了,
错误提示是“未从此类上对应的异步方法中返回IAsyncResult对象”


class Program
{
static void Main(string[] args)
{
MySocket s = new MySocket();
s.CreatMonitor();
Console.ReadLine();
}
}
class MySocket
{
private int port = 10000;
/// <summary>
/// 创建一个监听端口
/// </summary>
public void CreatMonitor()
{
Socket acceptSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
IPAddress localHost = Dns.GetHostAddresses(Dns.GetHostName())[0];
IPEndPoint localPoint = new IPEndPoint(localHost, port);
acceptSocket.Bind(localPoint);
acceptSocket.Listen(200);
acceptSocket.BeginAccept(new AsyncCallback(AcceptCallBack), acceptSocket); //开始接受连接
}
/// <summary>
/// 有连接进入后执行的方法
/// </summary>
/// <param name="ar"></param>
private void AcceptCallBack(IAsyncResult ar)
{
Socket acceptSocket = (Socket)ar.AsyncState;
try
{
Console.WriteLine("有一个连接进入");
Socket receiveS = acceptSocket.EndAccept(ar); //第二次连接时,会在这里出问题
acceptSocket.BeginAccept(new AsyncCallback(AcceptCallBack), receiveS);
}
catch(Exception e)
{
Console.WriteLine(e.Message);
}
}
}
...全文
255 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
tyg111 2010-07-15
  • 打赏
  • 举报
回复
每天回帖都有分
tyb1222 2010-04-17
  • 打赏
  • 举报
回复
ding
yinhunfeixue 2008-10-29
  • 打赏
  • 举报
回复
谢谢各位
mienfong 2008-10-28
  • 打赏
  • 举报
回复
呵~~不用費解,我是馬來西亞華人,支持中國統一,不喜歡小日本。
我從小是學簡體字,我喜歡中華文化,而我覺得繁體文字很美,所以我喜歡用繁體字,但有時也會用回簡體字。




****************************
* 多用王字的囯或原國字,少用玉字的国 *
* 玉字的国字是由日本的汉字中拿來用的 *
****************************
Wesley 2008-10-28
  • 打赏
  • 举报
回复
我还想知道,1楼的同志你是台湾的?上学学的繁体字?很费解~~~~~
Wesley 2008-10-28
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 mienfong 的回复:]
請問樓主這是您的全部原碼?若是則您少寫關閉Socket的函式,Socket沒有被釋放。



****************************
* 多用王字的囯或原國字,少用玉字的国 *
* 玉字的国字是由日本的汉字中拿來用的 *
****************************
[/Quote]
你这签名很不和谐,要注意,要和谐,要有爱
mienfong 2008-10-28
  • 打赏
  • 举报
回复
http://msdn2.microsoft.com/zh-tw/library/fx6588te(VS.80,printer).aspx (C#在VB寫法的下方)

這是微軟的非同步Server,希望對你有幫助。
mienfong 2008-10-28
  • 打赏
  • 举报
回复
請問樓主這是您的全部原碼?若是則您少寫關閉Socket的函式,Socket沒有被釋放。




****************************
* 多用王字的囯或原國字,少用玉字的国 *
* 玉字的国字是由日本的汉字中拿來用的 *
****************************

110,499

社区成员

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

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

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