package org.tiantian.message.server;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
public class Server {
private int port;
public Server(int listenPort) {
this.port = listenPort;
}
public void handleConnection(Socket connectionToHandle) {
new Thread(new ConnectionHandler(connectionToHandle)).start();
}
public void acceptConnections() {
try {
ServerSocket server = new ServerSocket(port, 100);
Socket incomingConnection = null;
while (true) {
incomingConnection = server.accept();
handleConnection(incomingConnection);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void main(String[] args) {
System.out.println("Server start.");
Server s= new Server(25000);
s.acceptConnections();
}
}
package org.tiantian.message.server;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
public class ConnectionHandler implements Runnable {
protected Socket toHandle;
public ConnectionHandler(Socket s) {
this.toHandle = s;
try {
PrintWriter streamWriter = new PrintWriter(toHandle
.getOutputStream());
BufferedReader streamReader = new BufferedReader(
new InputStreamReader(toHandle.getInputStream()));
streamWriter.println("OK from server.");
System.out.println(streamReader.readLine());
streamWriter.close();
streamReader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
@Override
public void run() {
}
}
package org.tiantian.message.client;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.UnknownHostException;
public class Client {
protected BufferedReader socketReader;
protected PrintWriter socketWriter;
protected String hostIp;
protected int hostPort;
public Client(String hostIp, int hostPort) {
super();
this.hostIp = hostIp;
this.hostPort = hostPort;
}
public void setUpConnection() {
try {
Socket client = new Socket(hostIp, hostPort);
socketReader = new BufferedReader(new InputStreamReader(client
.getInputStream()));
socketWriter = new PrintWriter(client.getOutputStream());
} catch (UnknownHostException e) {
System.out
.println("Error1 setting up socket connection: unknown host at "
+ hostIp + ":" + hostPort);
} catch (IOException e) {
System.out.println("Error2 setting up socket connection: " + e);
}
}
public void tearDownConnection() {
try {
socketWriter.close();
socketReader.close();
} catch (IOException e) {
System.out.println("Error tearing down socket connection: " + e);
}
}
public void talk() {
StringBuffer sb = new StringBuffer();
try {
socketWriter.println("Hi,I'm client.");
socketWriter.flush();
String line = null;
while ((line = socketReader.readLine()) != null)
sb.append(line + "\n");
System.out.println(sb.toString());
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
Client c = new Client("127.0.0.1", 25000);
c.setUpConnection();
c.talk();
c.tearDownConnection();
}
}
作业慢慢写~今天就到这~
分享到:
相关推荐
java socket(IBM) 一篇来源于IBM的关于Java socket的好文章 1.1 Java socket . . . . . . . . . . . . . . . . 3 1.2 Java socket - 教程提示 . . . . . . . . 4 1.3 Java socket - 套接字基础 . . . . . 6 1.4 ...
基于Java--Socket-网络编程.doc
web-socket-js亲测可用
java编程-socket-套接字-网络编程.docx
Java-Socket-网络聊天工具
Java网络编程(socket---网上广播)
基于java的开发源码-Java Socket通信实现.zip 基于java的开发源码-Java Socket通信实现.zip 基于java的开发源码-Java Socket通信实现.zip 基于java的开发源码-Java Socket通信实现.zip 基于java的开发源码-Java ...
用nodejs作为服务器,java作为客户端,使用socket通信的demo.
HP-Socket-master HP-Socket-master HP-Socket-master.
HP-Socket 是一套通用的高性能 TCP/UDP/HTTP 通信框架,包含服务端组件、客户端组件和Agent组件,广泛适用于各种不同应用场景的...HP-Socket 提供基于事件通知模型的 API 接口,能非常简单高效地整合到新旧应用程序中。
Java network socket programming Detailed
官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装
java socket教程java socket教程java socket教程
Java TCP-IP Socket编程-卡尔弗特.pdf,结合java开发基于tcpip协议的socket编程
Java网络编程-Socket-文件传输小案例
socket -- io 小例子 socket -- io 小例子 socket -- io 小例子 socket -- io 小例子 socket -- io 小例子
NULL 博文链接:https://1358440610-qq-com.iteye.com/blog/2114621
linux centos7的perl-IO-Socket-IP-0.21-5.el7.noarch.rpm包
java开发can接口,再linux环境下编译的jar,直接添加到lib使用即可。