首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

TCP Socket编程-客户端和服务端双向通信

2012-12-18 
TCP Socket编程--客户端和服务端双向通信好久没有写javaeye博客了,最近写了个TCP Socket编程,和大家一起分

TCP Socket编程--客户端和服务端双向通信

好久没有写javaeye博客了,最近写了个TCP Socket编程,和大家一起分享!

?

服务端:

package test;import java.io.BufferedReader;import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.IOException;import java.io.InputStreamReader;import java.net.Socket;import java.net.UnknownHostException;public class TCPClient2 {public static void main(String[] args) throws UnknownHostException, IOException{new TCPClient2().go();}public void go() {try {Socket s = new Socket("127.0.0.1",8888);RecvThread recv = new RecvThread(s);new Thread(recv).start();SendThread send = new SendThread(s);new Thread(send).start();} catch (UnknownHostException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}class RecvThread implements Runnable{private Socket s = null;private DataInputStream dis = null;public RecvThread(Socket s){this.s = s;try {dis = new DataInputStream(s.getInputStream());} catch (IOException e) {e.printStackTrace();}}@Overridepublic void run() {String str = "";while(true){try {str = dis.readUTF();if("bye".equals(str))break;System.out.println("received message:"+str);} catch (IOException e) {e.printStackTrace();}}}}class SendThread implements Runnable{private Socket s;private DataOutputStream dos;public SendThread(Socket s){this.s = s;try {dos = new DataOutputStream(s.getOutputStream());} catch (IOException e) {e.printStackTrace();}}@Overridepublic void run() {String str = "";while(true){System.out.println("input message:");BufferedReader br = new BufferedReader(new InputStreamReader(System.in));try {str = br.readLine();dos.writeUTF(str);if("bye".equals(str))break;} catch (IOException e) {e.printStackTrace();}}}}}

?

热点排行