![]() |
Несколько вопросов по асинхронным сокетам.
Всем доброго времени суток!
При написание клиент-серверной системы накопилось некоторое кол-во вопросов: 1. Есть сервер, у него есть метод Start(), который запускается в начале работы серверной части. Если в процессе работы клиент вызовет метод Disconnetc() или Close(), то сервер перестанет принимать подключения. Собственно вопрос: есть ли какие-то встроенные механизмы для "перезапуска" BeginAccept? (чтобы не писать это на коленке с помощью бесконечного while, WaitOne или собственной "очереди-массива" соединений) Код:
public void Start()Код:
var SocOfSend = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);Код:
SocOfSend.BeginSend(BDataSend, 0, BDataSend.Length, SocketFlags.None, new AsyncCallback(OnSend), SocOfSend);4. Собственно, что должно писаться в методах OnSend и OnReceive? (которые вызываются в BeginSend\BeginReceive) Там хватает примерно следующего: Код:
var clientSocket = (Socket) ar.AsyncState;Код:
var client = (Socket)ar.AsyncState;Буду рад любой помощи! Заранее спасибо! :) |
Если не трудно напишите на каком языке пишите,хотя я догадываюсь что это C#.
|
Да, это C#.
|
| Время: 08:24 |