該實(shí)例完成的功能如下:
一次啟動(dòng)Server端和Client端后,首先由Server端發(fā)‘1’給Client端,Client端將接收到的數(shù)據(jù)加1后,發(fā)該數(shù)據(jù)給Server端,Server端再將數(shù)據(jù)加1后發(fā)給Client端,依次類推。直到Server端收到數(shù)據(jù)20,Client收到19時(shí),兩方中斷收發(fā)。
程序代碼如下:
- Socket Server





































































































2. Socket Client端代碼





















































































if(Integer.parseInt(sendStr) >= 20) {
flag = false;
}
來使程序跳出循環(huán),程序報(bào)出了如下錯(cuò)誤:java.net.SocketException: Connection reset。。。。。。
引起該問題的原因是由于此時(shí)Server端連接已經(jīng)被復(fù)位,而Client依然通過該連接在接收和發(fā)送數(shù)據(jù),在網(wǎng)上搜索了一下該錯(cuò)誤,發(fā)現(xiàn)該錯(cuò)誤引起的原因大都是防火墻的原因,嘿嘿,又學(xué)了一招。
過幾天繼續(xù)研究Socket通信編程,寫了好的實(shí)用的例子繼續(xù)帖上來 :)