我實現(xiàn)了TCP網(wǎng)絡通信,可該怎樣發(fā)送接收文字或者文件吶?
1 回答
已采納

weenhall
TA貢獻121條經(jīng)驗 獲得超57個贊
客戶端和服務器端都設置收發(fā)機制啊,比如服務器收到消息后再發(fā)送一個消息給客戶端,客戶端接收這個消息
String?host?=?"127.0.0.1";?//?要連接的服務端IP地址 int?port?=?8802;?//?要連接的服務端對應的監(jiān)聽端口 //?與服務端建立連接 Socket?client?=?new?Socket(host,?port); //?建立連接后就可以往服務端寫數(shù)據(jù)了 Writer?writer?=?new?OutputStreamWriter(client.getOutputStream(),?"GBK"); writer.write("你好,服務端。"); writer.write("eof\n"); writer.flush(); //?寫完以后進行讀操作 BufferedReader?br?=?new?BufferedReader(new?InputStreamReader(client.getInputStream(),?"UTF-8")); //?設置超時間為10秒 client.setSoTimeout(10?*?1000); StringBuffer?sb?=?new?StringBuffer(); String?temp; int?index; try?{ while?((temp?=?br.readLine())?!=?null)?{ if?((index?=?temp.indexOf("eof"))?!=?-1)?{ sb.append(temp.substring(0,?index)); break; } sb.append(temp); } }?catch?(SocketTimeoutException?e)?{ System.out.println("數(shù)據(jù)讀取超時。"); } System.out.println("服務端:?"?+?sb); writer.close(); br.close(); client.close();
客戶端的自己照著做把
添加回答
舉報
0/150
提交
取消