Java学习【网络编程】
来源:互联网 发布:淘宝客高佣金推广 编辑:程序博客网 时间:2024/04/19 19:21
博客:http://blog.csdn.net/muyang_ren
发送与接收线程
Recv.java
package lhy.socket.server;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.net.Socket;public class Recv implements Runnable{ String str = null; private Socket client = null; private InputStreamReader recv = null; private BufferedReader reader = null; public Recv(Socket c) { this.client = c; } public void run() { System.out.println("recv thread"); //System.out.flush(); try { recv = new InputStreamReader(client.getInputStream()); reader = new BufferedReader(recv); while (!client.isClosed()) { str = reader.readLine(); System.out.println(str); } client.close(); } catch (IOException e) { e.printStackTrace(); } }}
Send.java
package lhy.socket.server;import java.io.IOException;import java.io.OutputStreamWriter;import java.io.PrintWriter;import java.net.Socket;import java.util.Scanner;public class Send implements Runnable{ private Socket client = null; private static OutputStreamWriter send = null; private static PrintWriter writer = null; Scanner sin = null; String msgstr = null; String sendstr = null; //c :客户端或者服务器套接字 //str : 存放客户端或者服务器发送过来的字符串:Server 或者 Client public Send(Socket c,String str) { this.client = c; this.sendstr = str; } public void run() { System.out.println("send thread"); sin = new Scanner(System.in); try { send = new OutputStreamWriter(client.getOutputStream()); writer = new PrintWriter(send,true); while (!client.isClosed()) { msgstr = sin.nextLine(); writer.println(sendstr+client.getInetAddress()+":"+msgstr); } } catch (IOException e) { System.out.println(e.getMessage()); } }}
服务器
TestServer.java
package lhy.socket.server;import java.io.IOException;import java.net.ServerSocket;import java.net.Socket;public class TestServer { private static ServerSocket server; private static final int TCP_PORT = 3002; /** * @param args */ public static void main(String[] args) { System.out.println("server->致:hello world! 最伟大的程序!"); try { //1.设置服务器 server = new ServerSocket(TCP_PORT); System.out.println("服务器已经启动!"); while (true) { //2.监听客户端,这里只实现了与一个客户端的通信 //【如果要和多个客户端进行通信,将连接的客户端通过监 //听将客户端保存到集合内,发送只开一个线程就够了,重 //写我send方法,比如实现发送时历遍集合发送;而服务器 //接收信息时就需要为每一次监听到的客户端开一个线程】 Socket client =server.accept(); //3.开接收线程 Recv readthread = new Recv(client); new Thread(readthread,"Server-Read-Thread").start(); Send sendthread = new Send(client,"Server"); new Thread(sendthread,"Server-Send-Thread").start(); } } catch (IOException e) { System.out.println(e.getMessage()); } }}
客户端
package lhy.socket.server;import java.io.IOException;import java.net.Socket;import java.net.UnknownHostException;public class TestClient { private static Socket clienSocket; private final static String TCP_IP ="127.0.0.1"; private final static int TCP_PORT = 3002; /** * @param args */ public static void main(String[] args) { System.out.println("client->致:hello world! 最伟大的程序!"); try { clienSocket = new Socket(TCP_IP, TCP_PORT); Recv readthread = new Recv(clienSocket); new Thread(readthread,"接收").start(); Send sendthread = new Send(clienSocket,"Client"); new Thread(sendthread,"发送").start(); } catch (UnknownHostException e) { System.out.println(e.getMessage()); } catch (IOException e) { System.out.println(e.getMessage()); } }}
0 0
- Java 网络编程 学习
- Java学习---网络编程
- Java学习---网络编程
- java学习--网络编程
- Java学习【网络编程】
- java学习----网络编程
- Java网络编程学习
- Java网络编程入门学习
- java学习之 网络编程
- java网络编程 深入学习
- java网络编程学习笔记
- JAVA网络编程学习笔记
- 开始学习java网络编程
- java网络编程学习笔记
- java学习笔记-网络编程
- java学习10---网络编程
- Java网络编程 学习笔记
- Java网络编程基础学习
- Java的继承
- Flex的 TextInput 限制有小数点和负号的数字
- UVa 232 - Crossword Answers
- XTU1238:Segment Tree(线段树)
- poj 1721 CARDS 【置换群 】【求最小循环节 再由末序列 求 初序列】
- Java学习【网络编程】
- hihocoder #1175 : 拓扑排序·二
- OS X以及iOS平台上的的动态库导出c++接口类
- Java命名规范
- Linux内核与驱动开发学习总结:PCI中线初始化(十一)
- ACM/ICPC World Finals 2013 A Self-Assembly
- zookeeper作为注册中心,使用dubbo
- JSON初步
- FaceBook/infer-InferPrint命令