java tcp简单例子
来源:互联网 发布:java字符数组赋值 编辑:程序博客网 时间:2024/06/06 13:23
服务器端
package com.justsee.tcpip;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStream;import java.net.ServerSocket;import java.net.Socket;public class TcpServer {//先启动服务器端程序public static void main(String[] args) throws IOException {ServerSocket serverSocket=new ServerSocket(8080);Socket socket=serverSocket.accept();//阻塞等待消息InputStream inputStream=socket.getInputStream();OutputStream outputStream=socket.getOutputStream();//outputStream.write("欢迎光临!".getBytes(), 0,"欢迎光临!".getBytes().length );outputStream.write("welcome!".getBytes() );/*byte[] buf=new byte[1024];int len=inputStream.read(buf);//System.out.println(new String(buf, 0, len));inputStream.close();*/BufferedReader bufferedReader=new BufferedReader(new InputStreamReader(inputStream)); System.out.println(bufferedReader.readLine()); bufferedReader.close();outputStream.close();socket.close();serverSocket.close();}}
客户端(还可以开多个telnet来模拟)
package com.justsee.tcpip;import java.io.BufferedReader;import java.io.DataOutputStream;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStream;import java.net.InetAddress;import java.net.Socket;//后启动客户端程序public class TcpClient {//启动main时传进来两个参数:ip和端口号public static void main(String [] args) {try{//Socket s=new Socket(InetAddress.getByName("192.168.0.213"),8001);if(args.length < 2){System.out.println("Usage:java TcpClient ServerIP ServerPort");return;}//建立SocketSocket s=new Socket(InetAddress.getByName(args[0]),Integer.parseInt(args[1]));InputStream ips=s.getInputStream();OutputStream ops=s.getOutputStream();BufferedReader brKey = new BufferedReader(new InputStreamReader(System.in));//键盘输入DataOutputStream dos = new DataOutputStream(ops);BufferedReader brNet = new BufferedReader(new InputStreamReader(ips));while(true){String strWord = brKey.readLine();dos.writeBytes(strWord + System.getProperty("line.separator"));if(strWord.equalsIgnoreCase("quit"))break;elseSystem.out.println(brNet.readLine());}dos.close();brNet.close();brKey.close();s.close();}catch(Exception e){e.printStackTrace();}}}/*发送和接受都是以Socket为信息载体*/
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
服务器端
package com.justsee.tcpip;import java.io.BufferedReader;import java.io.DataOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStream;import java.net.ServerSocket;import java.net.Socket;public class Servicer implements Runnable {Socket socket;public Servicer(Socket socket) {super();this.socket = socket;}@Overridepublic void run() {try {InputStream inputStream=socket.getInputStream();OutputStream outputStream=socket.getOutputStream();BufferedReader bufferedReader=new BufferedReader(new InputStreamReader(inputStream));DataOutputStream dataOutputStream=new DataOutputStream(outputStream);while (true) {String strWord=bufferedReader.readLine();//System.out.println(strWord+":"+strWord.length());if ("quit".equalsIgnoreCase(strWord)) {break;}String strEcho=(new StringBuilder(strWord).reverse()).toString();//dataOutputStream.writeBytes(strWord+"---->"+strEcho+"\r\n");//System.getProperty("line.separator")为跨平台换行符。Window为\r\n,unix为\ndataOutputStream.writeBytes(strWord+"---->"+strEcho+System.getProperty("line.separator"));}bufferedReader.close();bufferedReader.close();socket.close();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}public static void main(String [] args){try{ServerSocket ss=new ServerSocket(8080);while(true){Socket s=ss.accept();new Thread(new Servicer(s)).start();}//ss.close();}catch(Exception e){e.printStackTrace();}}}
阅读全文
0 0
- java tcp简单例子
- ## Java TCP 通信的简单例子 ##
- tcp简单例子-python
- Tcp 简单通信例子
- Java TCP入门例子
- linux tcp socket简单例子
- java中tcp小例子
- TCP网络通信的简单例子
- 一个简单的tcp filter的例子
- Linux下socket TCP的简单例子
- Linux下的TCP Socket简单例子
- Linux下的TCP Socket简单例子
- Linux下socket TCP的简单例子
- socket的TCP通信简单例子
- Linux下的TCP Socket简单例子
- TCP协议实现网络通信简单例子
- Linux下的TCP Socket简单例子
- Java tcp服务器框架 以及一个简单命令行聊天的测试例子
- [DP优化] POJ 1160 Post Office
- Android之SQlite存储
- Android内容提供者(Content provider)
- TST运行报错解决
- java udp简单例子
- java tcp简单例子
- Linux_博客-端口分类调研
- defy手机 小技能 问题
- spring mvc maven
- java关于多线程的面试题(三道)--参考答案
- JAVA启动参数大全之三:非Stable参数
- Android手机隐藏代码(手机指令大全)
- ado连接池遇到的问题
- Android 积累