
这是我的节目的图片.所有这些JMenuItem都在一个JFrame中,我为每个JFrame添加了JPanel.当用户单击一个JMenuItem时,所有JPanels都将是不可见的,只有相应的JPanel才能工作.
这是一个好方法吗?我的班级很庞大.添加功能之前是5000行.
如果分开
客户端---发送消息到--->服务器:工作正常!
如果分开
服务器---发送消息到--->客户端:工作正常!
但是当两者在一起时:
客户端---发送消息到--->服务器
服务器---发送消息到--->客户端
什么都行不通!
这是ServerSide:
import java.io.*;
import java.net.*;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
public class MyServer
{
private final static int port = 8000;
private static String hostname = "";
private static String hostIP ="";
public static void main(String[] args )
{
ServerSocket serverSocket=null;
try {
// get host information
hostname = InetAddress.getLocalHost().getHostName();
hostIP = InetAddress.getLocalHost().getHostAddress();
// display server information
System.out.println("MyServer started on "+hostname+" with IP: "+hostIP + " on the port number: " …Run Code Online (Sandbox Code Playgroud) 我正试图通过tcp从客户端程序中读取一个对象.正如您在此行中所看到的,我创建了objectInput:
ObjectInputStream objectInput = new ObjectInputStream(incoming.getInputStream());
Run Code Online (Sandbox Code Playgroud)
然后从其他程序中读取我的输入.它曾经工作正常,直到我做了一些小的改动来清理程序.个人假设我补充说
objectInput.clsoe();
Run Code Online (Sandbox Code Playgroud)
我的问题是,在读取对象后,我应该关闭objectInputStream还是保持不关闭?我应该在使用它之后立即关闭它还是在if块结束时或在程序结束时关闭它?关闭有什么影响?顺便说一句,我已经阅读了密切的文档.
这是错误:
java.io.EOFException
at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2280)
at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2749)
at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:779)
at java.io.ObjectInputStream.<init>(ObjectInputStream.java:279)
at Server.ClientWorker.run(MyCollectionServer.java:116)
at java.lang.Thread.run(Thread.java:680)
Run Code Online (Sandbox Code Playgroud)
这是我的代码:
public static void main(String[] args) {
ServerSocket serverSocket = null;
try
{
serverSocket = new ServerSocket(port);
}
catch (IOException e)
{
e.printStackTrace();
}
while(true)
{
ClientWorker w;
try
{
w = new ClientWorker(serverSocket.accept());
Thread t = new Thread(w);
t.start();
}
catch(IOException e)
{
e.printStackTrace();
break;
}
}
}
}
class ClientWorker implements Runnable
{
.....
private …Run Code Online (Sandbox Code Playgroud) 我复制粘贴我的代码和我得到的错误.这很奇怪.我已经标记了我遇到错误的所有行.我甚至无法编译课程.
#ifndef MYRECORD_H
#define MYRECORD_H
#include "MyException.h"
#include <map>
using namespace std;
//Error in next line
using std::vector;
class MyRecord {
public:
explicit MyRecord(string& id); // I don't want implicit conversion from std::string to MyRecord!
// Mutator functions - setting of other fields
// In this version, hardly any of the implementations will actually throw exceptions
// later validation functions will be added
void setName(string& aname) throw (MyException);
void setEmail(string& amail) throw (MyException);
void setInfo(string& info) throw (MyException);
void setImage(string& …Run Code Online (Sandbox Code Playgroud) 我已经下载了一个样本表格,它是这样的:
<form id="login-user" method="post" accept-charset="utf-8" action="/home.html" class="simform">
<div class="sminputs">
<div class="input full">
<label class="string optional" for="user-name">Email*</label>
<input class="string optional" maxlength="255" id="user-email" placeholder="Email" type="email" size="50" />
</div>
</div>
<div class="sminputs">
<div class="input full">
<label class="string optional" for="user-pw">Password *</label>
<input class="string optional" maxlength="255" id="user-pw" placeholder="Password" type="password" size="50" />
<span class="hide-password">Show</span>
</div>
</div>
<div class="simform__actions">
<input class="sumbit" name="commit" type="sumbit" value = "Log in"/>
<span class="simform__actions-sidetext"><a class="special" role="link" href="#">Forgot your password?<br>Click here</a></span>
</div>
</form>
Run Code Online (Sandbox Code Playgroud)
当我按下提交按钮时它不起作用,它会点击按钮上的文字!但是,当我改变这一行
<input class="sumbit" name="commit" type="sumbit" value = "Log in"/>
Run Code Online (Sandbox Code Playgroud)
至 …
我得到了一点有线警告.我在头文件中定义了这样的NSDate:
@property (strong, nonatomic) NSData *selected;
Run Code Online (Sandbox Code Playgroud)
稍后在.m文件中我尝试获取日期选择器选择的日期:
self.selected = [_datePicker date];
Run Code Online (Sandbox Code Playgroud)
日期选择器的定义:
@property (weak, nonatomic) IBOutlet UIDatePicker *datePicker;
Run Code Online (Sandbox Code Playgroud)
两者都是相同类型的NSDate*.为什么我会收到此警告?
java ×3
networking ×2
c++ ×1
connection ×1
css ×1
forms ×1
html ×1
ios ×1
iphone ×1
javascript ×1
jframe ×1
jpanel ×1
makefile ×1
objective-c ×1
sockets ×1
swing ×1
tcp ×1
vector ×1
xcode ×1