java_Socket通信_聊天程序
2013-08-15 18:50
309 查看
package myfistsocket;
/*一个作为Server*/
import java.io.*; import java.net.*;
class MynewServer {
public static void main(String[] args) throws IOException {
ServerSocket s = new ServerSocket(6666);
System.out.println("服务器端------监听中....."); Socket socket = s.accept();
System.out.println("开始:" + socket);
GetMessage gm = new GetMessage(socket); SendMessage sm = new SendMessage(socket);
Thread gt = new Thread(gm); Thread st = new Thread(sm);
gt.start(); st.start(); } }
// 接收消息
class GetMessage implements Runnable {
BufferedReader in;
public GetMessage(Socket socket) {
try {
in = new BufferedReader(new
InputStreamReader(socket.getInputStream())); }
catch (IOException e) {
e.printStackTrace();
} }
public void run() {
String str = "";
while (true) {
try {
str = in.readLine(); }
catch (IOException e) {
e.printStackTrace(); }
if (str.equals("q")) {
break; }
System.out.print("客户端回应说:" + str); } } }
// 发送消息
class SendMessage implements Runnable {
PrintWriter out; BufferedReader is;
public SendMessage(Socket socket) throws IOException {
out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())), true); is = new BufferedReader(new InputStreamReader(System.in)); }
public void run() {
String input = new String();
while (true) {
try {
input = is.readLine().trim(); }
catch (IOException e) {
e.printStackTrace(); }
out.println(input);
System.out.print("服务器说:"); out.flush(); } } }
package myfistsocket;
/*一个作为Client*/ import java.io.*; import java.net.*;
public class MynewClient {
public static void main(String[] args) throws IOException {
InetAddress addr = InetAddress.getByName("127.0.0.1");
Socket socket = new Socket(addr, 6666);
System.out.println("客户端发出socket=" + socket);
CGetMessage gm = new CGetMessage(socket); CSendMessage sm = new CSendMessage(socket);
Thread gt = new Thread(gm); Thread st = new Thread(sm);
gt.start(); st.start(); } }
// 接收消息
class CGetMessage implements Runnable {
private Socket socket; BufferedReader in;
public CGetMessage(Socket socket) {
this.socket = socket;
}
public void run()
{
BufferedReader in; String str = ""; while (true) {
try {
in = new BufferedReader(new InputStreamReader(socket.getInputStream())); str = in.readLine(); }
catch (IOException e) {
e.printStackTrace(); }
System.out.println("服务器回应说:" + str); } } }
// 发送消息
class CSendMessage implements Runnable {
PrintWriter out; BufferedReader is;
public CSendMessage(Socket socket) throws IOException {
out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())), true); is = new BufferedReader(new InputStreamReader(System.in)); }
public void run() {
String input = new String();
/*一个作为Server*/
import java.io.*; import java.net.*;
class MynewServer {
public static void main(String[] args) throws IOException {
ServerSocket s = new ServerSocket(6666);
System.out.println("服务器端------监听中....."); Socket socket = s.accept();
System.out.println("开始:" + socket);
GetMessage gm = new GetMessage(socket); SendMessage sm = new SendMessage(socket);
Thread gt = new Thread(gm); Thread st = new Thread(sm);
gt.start(); st.start(); } }
// 接收消息
class GetMessage implements Runnable {
BufferedReader in;
public GetMessage(Socket socket) {
try {
in = new BufferedReader(new
InputStreamReader(socket.getInputStream())); }
catch (IOException e) {
e.printStackTrace();
} }
public void run() {
String str = "";
while (true) {
try {
str = in.readLine(); }
catch (IOException e) {
e.printStackTrace(); }
if (str.equals("q")) {
break; }
System.out.print("客户端回应说:" + str); } } }
// 发送消息
class SendMessage implements Runnable {
PrintWriter out; BufferedReader is;
public SendMessage(Socket socket) throws IOException {
out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())), true); is = new BufferedReader(new InputStreamReader(System.in)); }
public void run() {
String input = new String();
while (true) {
try {
input = is.readLine().trim(); }
catch (IOException e) {
e.printStackTrace(); }
out.println(input);
System.out.print("服务器说:"); out.flush(); } } }
package myfistsocket;
/*一个作为Client*/ import java.io.*; import java.net.*;
public class MynewClient {
public static void main(String[] args) throws IOException {
InetAddress addr = InetAddress.getByName("127.0.0.1");
Socket socket = new Socket(addr, 6666);
System.out.println("客户端发出socket=" + socket);
CGetMessage gm = new CGetMessage(socket); CSendMessage sm = new CSendMessage(socket);
Thread gt = new Thread(gm); Thread st = new Thread(sm);
gt.start(); st.start(); } }
// 接收消息
class CGetMessage implements Runnable {
private Socket socket; BufferedReader in;
public CGetMessage(Socket socket) {
this.socket = socket;
}
public void run()
{
BufferedReader in; String str = ""; while (true) {
try {
in = new BufferedReader(new InputStreamReader(socket.getInputStream())); str = in.readLine(); }
catch (IOException e) {
e.printStackTrace(); }
System.out.println("服务器回应说:" + str); } } }
// 发送消息
class CSendMessage implements Runnable {
PrintWriter out; BufferedReader is;
public CSendMessage(Socket socket) throws IOException {
out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())), true); is = new BufferedReader(new InputStreamReader(System.in)); }
public void run() {
String input = new String();
相关文章推荐
- java_Socket通信_聊天程序
- java_Socket通信_聊天程序
- JAVA系列课程讲座二:使用Socket通信实现简单聊天通信程序(UDP方式)
- java中关于Socket类通信的基本测试程序
- linux下java程序与C语言程序通过SOCKET通信的简单例子
- Java通信——聊天程序
- JAVA中的Socket一对一聊天程序
- [Java] Socket/ServerSocket 控制台简单聊天程序
- java&&socket&&通信程序
- 详解基于java的Socket聊天程序――初始设计(附demo)
- Java基于Tcp的socket聊天程序
- 小小的java socket聊天程序
- android 初识socket通信--java程序做服务器
- 详解基于java的Socket聊天程序――客户端(附demo)
- 最基础的java socket聊天程序应该烂熟于心
- 在Java与C程序间进行socket通信的讨论
- C#客户端与Java程序使用socket连接并通信的兼容问题
- 一个简单的socket通信聊天程序
- [Java] Socket/ServerSocket/Thread 控制台聊天程序--两人任意聊
- Java系列讲座二:Socket网络通信实现聊天软件项目讲解(UDP)