.net - Cannot access a disposed object. in c# client & Server -
i had fix problem cannot access disposed object. in c# client & server
following points used.
- used using scope limitation
- i not closed socket object
class client { static void main(string[] args) { console.title = "client chat"; byte[] bytes = new byte[1024];// data buffer incoming data string data = null;
// connect remote device try { // establish remote end point socket iphostentry iphost = dns.resolve("localhost"); ipaddress ipaddr = iphost.addresslist[0]; ipendpoint ipendpoint = new ipendpoint(ipaddr, 95); using (socket socketsender = new socket(addressfamily.internetwork, sockettype.stream, protocoltype.tcp)) { socketsender.connect(ipendpoint); console.writeline("\n\n\tsocket connecting java server...." + socketsender.remoteendpoint.tostring()); while (true) { console.write("\n\n\tclient::"); string themessage = console.readline(); byte[] msg = encoding.ascii.getbytes(themessage); // send data through socket int bytessent = socketsender.send(msg); //recieved java server message int bytesrec = socketsender.receive(bytes); console.writeline("\n\n\tjava server says:: {0}", encoding.ascii.getstring(bytes, 0, bytesrec)); } //socketsender.close(); } } catch (exception e) { console.writeline(e.message); } console.readline(); } }
you create socket handler object outside loop , close inside loop. second pass through loop looking @ socket object have closed.
don't close socket until finished it.
Comments
Post a Comment