TCP socket 问题
我的程序是个小demo。服务器端只接受,客户端只发送。
服务器端:
ServerSocket ss = null;
try{
ss = new ServerSocket(2222);
while(true){
Socket socket = ss.accept();
BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
System.out.println("客户端说:"+reader.readLine());
}
}catch (Exception e) {
e.printStackTrace();
}finally{
try{
if(ss!=null)
ss.close();
}catch (Exception e) {
}
}
Socket socket = null;
try{
socket = new Socket("127.0.0.1", 2222);
System.out.println("连接已建立");
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
while(true){
writer.write("我是客户端..\\r\\n");
writer.flush();
Thread.sleep(3000);
System.out.println("发送完毕...");
}
}catch (Exception e) {
e.printStackTrace();
}finally{
try {
if(socket!=null)
socket.close();
} catch (IOException e) {
}
}
ss = new ServerSocket(1212);
Socket socket = ss.accept();//放在外面
while (true) {
BufferedReader reader = new BufferedReader(
new InputStreamReader(socket.getInputStream()));
System.out.println("客户端说:" + reader.readLine());
}
while (true) {
writer.write("我是客户端..\\r\\n");
writer.newLine();//加上这个:写入一个行分隔符
writer.flush();
Thread.sleep(3000);
System.out.println("发送完毕...");
}
import java.net.*;
import java.io.*;
import java.util.*;
public class Server {
public static void main(String[] args){
ServerSocket ss = null;
try{
ss = new ServerSocket(2222);
while(true){
Socket socket = ss.accept();
ObjectInputStream input = new ObjectInputStream(socket.getInputStream());
System.out.print("客户端说:"+(String)input.readObject());
input.close();
}
}catch (Exception e) {
e.printStackTrace();
}finally{
try{
if(ss!=null)
ss.close();
}catch (Exception e) {
}
}
}}
import java.util.*;
public class Client {
public static void main(String[] args){
Socket socket = null;
try{
while(true){
socket = new Socket("127.0.0.1", 2222);
System.out.println("连接已建立");
ObjectOutputStream writer = new ObjectOutputStream(socket.getOutputStream());
writer.writeObject("我是客户端..\\r\\n");
writer.flush();
Thread.sleep(1000);
System.out.println("发送完毕...");
}
}catch (Exception e) {
e.printStackTrace();
}finally{
try {
if(socket!=null)
socket.close();
} catch (IOException e) {
}
}
}}
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;
public class TestServer {
public static void main(String[] args) {
ServerSocket ss = null;
try {
ss = new ServerSocket(2222);
while (true) {
Socket socket = ss.accept();
BufferedReader reader = new BufferedReader(
new InputStreamReader(socket.getInputStream()));
String line = reader.readLine();
while (line != null) {
System.out.println("客户端说:" + line);
line = reader.readLine();
}
socket.close();
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (ss != null)
ss.close();
} catch (Exception e) {
}
}
}
}
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.net.Socket;
public class TestClient {
public static void main(String[] args) {
Socket socket = null;
try {
socket = new Socket("127.0.0.1", 2222);
System.out.println("连接已建立");
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(
socket.getOutputStream()));
int count = 1;
while (count < 10) {
writer.write("我是客户端..\r\n");
writer.flush();
Thread.sleep(3000);
count++;
}
System.out.println("发送完毕...");
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (socket != null)
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}